Junit5 mit IntelliJ und Gradle

9

Versuch, mein Projekt mit IntelliJ 2017.2 zu java8 + Junit5 zu migrieren

Ich habe junit-jupiter-api version 5.0.0-M6

hinzugefügt

und junit-platform-launcher version 1.0.0-M6

Die Projektstruktur ist eine Standard-Maven-Konvention src/test/java

Habe ein paar Artikel dazu gefunden, aber keiner von ihnen hat mein Problem gelöst.

Es läuft gut in einer Konsole, ich nehme an, dass dies etwas mit dem IntelliJ Standard JUnit Runner zu tun hat, oder mir einige Abhängigkeiten fehlen?

Wenn ich eine einzelne Testklasse ausführe, funktioniert alles gut, aber wenn ich das Verzeichnis und Run all 'Tests' in Java like, wie ich es gemacht habe, anwähle, stoße ich auf wenige Fehler.

%Vor%

Hinweis : Ich habe noch keine Tests migriert, alle sind Junit 4-Syntax.

    
LazerBanana 02.08.2017, 13:57
quelle

2 Antworten

10

Das Hinzufügen spezifischer Abhängigkeiten löst das Problem.

HINWEIS: UPDATE INTELLIJ OBEN 2017.2.0 WIE ES EINEN FEHLER MIT DEM JUNIT LAUNCHER WAR

OXYGEN wenn Sie eclipse verwenden.

Die folgende Abhängigkeit aktiviert parametrisierte Junit5-Tests, die anstelle eines DataProvider verwendet werden können.

%Vor%

Junit5 API .

%Vor%

Wird benötigt, wenn Sie ältere JUnit4 Tests ausführen möchten, ohne die Syntax und die Imports zu ändern.

%Vor%

Wird benötigt, wenn Sie JUnit5 -Tests mit neuer Syntax und Import ausführen möchten.

%Vor%
  

java.lang.NoSuchMethodError: org.junit.platform.engine.EngineDiscoveryRequest.getDiscoveryFiltersByType (Ljava / lang / Klasse;) Ljava / util / List;

Startprogramm .

%Vor%
  

Ausnahme im Thread "main" java.lang.NoSuchMethodError: org.junit.platform.commons.util.ReflectionUtils.getDefaultClassLoader () Ljava / lang / ClassLoader;

Zusätzliche Informationen zur Installation von JUnit5

Seit Version 4.6 für Gradle müssen keine Plugins mehr verwendet werden Gradle unterstützt Junit5 nativ nur:

%Vor%     
LazerBanana 02.08.2017, 14:18
quelle
4

Die Konfiguration, die ich verwende, ist unten.

Die Vintage-Engine-Abhängigkeit wird nur benötigt, wenn Sie auch Junit4-Tests verwenden.

Der Jupiter-Parameter wird nur benötigt, wenn parametrierte Tests verwendet werden.

%Vor%     
sweetfa 11.09.2017 07:11
quelle

Tags und Links