fix(execution): detect JUnit test kind from project classpath #93
No reviewers
Labels
No labels
bug
build
enhancement
headless
P1-critical
P2-high
P3-medium
P4-low
refactoring
No milestone
No project
No assignees
1 participant
Due date
No due date set.
Dependencies
No dependencies set.
Reference
ai-tools/jdt-mcp-server!93
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/85-junit-kind-detection"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Fixes #85:
ExecutionTools.javahatteorg.eclipse.jdt.junit.TEST_KINDanzwei Stellen hart auf
junit5gesetzt. Das Produkt bündelt aber Loader fürJUnit 4, 5 und 6 (
org.eclipse.jdt.junit4/5/6.runtime). Neue Helper-MethodedetectTestKind(IJavaProject)liest die JUnit-Modul-Jars vom aufgelöstenKlassenpfad (Muster: bestehende Classpath-Auswertung in
ExecutionTools~Z.427-437) und wählt den passenden Loader:
junit-4.x.jar→ junit4junit-jupiter-*/junit-platform-*Major5/1→ junit5junit-jupiter-*/junit-platform-*Major6(JUnit 6 vereinheitlichtdie Versionierung) → junit6
fehlt, welcher Reimport nötig ist), keine NPE/leerer Fehler.
Refs #71: Verifikation, ob das gebündelte
junit5.runtime(1.2.0) mitJUnit Platform 1.11 (fixture-core, JUnit 5.11.4) läuft, sobald der Loader
korrekt gewählt wird.
Befund: nein. Auch mit korrekt erkanntem junit5-Loader stürzt die
Test-JVM mit
NoClassDefFoundError: org/junit/platform/engine/ OutputDirectoryCreatorab — der Eclipse-JDT-Loader erwartet eine neuereJUnit-Platform-API als 1.x liefert. Das ist eine echte Inkompatibilität,
kein Erkennungsfehler. Kein eigener Runner (Koordinator-Entscheidung);
stattdessen:
jdt_run_tests/jdt_start_tests_asyncnenntjetzt den JUnit-Platform-Mismatch explizit statt der irreführenden
"Spring context"-Vermutung.
(siehe unten), JUnit Platform 1.x (JUnit 5) nicht — Empfehlung: auf
JUnit 6 heben oder
jdt_maven_build(goals="test")als Workaround.Verifikation
mvn -pl org.naturzukunft.jdt.mcp -am compilegrünmvn clean packagegrün,tests/smoke-test.sh9/9 grünjdt_run_testsaufgerufen:
arknet-shared-kernel(JUnit 6.1.3): junit6 korrekt erkannt,LocalizedLiteralTest6/6 grün.fixture-core(JUnit 5.11.4 / Platform 1.11, Temp-Kopie): junit5korrekt erkannt, Testlauf schlägt wie oben beschrieben mit klarer
Fehlermeldung fehl (Befund für #71, kein Bugfix).
🤖 Generated with Claude Code
https://claude.ai/code/session_016tHV1dzUTdTwMLgx6yotVd