2017-12-15 9 views
0

Ich habe bereits Surefire is not picking up Junit 5 tests und ein paar verwandte Fragen betrachtet, aber Dinge entwickeln sich schnell mit Junit5, dass diese Vorschläge nicht mehr zu funktionieren scheinen.Maven Surefire-Plugin erkennt keine Junit5-Tests

Maven: 3.3.9 Ich habe folgendes in meinem pom.xml

<dependencies> 
    <dependency> 
     <groupId>com.google.guava</groupId> 
     <artifactId>guava</artifactId> 
     <version>23.0</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.commons</groupId> 
     <artifactId>commons-lang3</artifactId> 
     <version>3.7</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.junit.jupiter</groupId> 
     <artifactId>junit-jupiter-api</artifactId> 
     <version>5.0.2</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.junit.platform</groupId> 
     <artifactId>junit-platform-surefire-provider</artifactId> 
     <version>1.0.2</version> 
     <scope>test</scope> 
    </dependency> 
    <!-- Only required to run tests in an IDE that bundles an older version --> 
    <dependency> 
     <groupId>org.junit.platform</groupId> 
     <artifactId>junit-platform-launcher</artifactId> 
     <version>1.0.2</version> 
     <scope>test</scope> 
    </dependency> 
    <!-- Only required to run tests in an IDE that bundles an older version --> 
    <dependency> 
     <groupId>org.junit.jupiter</groupId> 
     <artifactId>junit-jupiter-engine</artifactId> 
     <version>5.0.2</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.junit.vintage</groupId> 
     <artifactId>junit-vintage-engine</artifactId> 
     <version>4.12.2</version> 
     <scope>test</scope> 
    </dependency> 
</dependencies> 

<build> 
    <plugins> 
     <plugin> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <version>2.20.1</version> 
     </plugin> 
    </plugins> 
</build> 

Wie Sie können diese sehen, sind die neuesten möglichen Versionen Junit5 bin zu raten, aber wenn ich die MVN Befehl installieren laufen erkennt immer noch keine Tests.

Irgendwelche Vorschläge? Ziemlich sicher, es ist das Maven + todsichere Plugin + Junit5 api + Junit5-Engine nicht zusammen zu spielen und bin glücklich, Versionen zu aktualisieren/downgraden, damit es funktioniert.

Antwort

3

Sie könnten todsichere Version auf v2.19 herunterstufen.

Es gibt eine open issue gegen JUnit5 auf Surefire 2.20.

Die folgende todsichere Konfiguration arbeitet mit JUnit5:

<junit.platform.version>1.0.1</junit.platform.version> 
<junit.jupiter.version>5.0.1</junit.jupiter.version> 
<maven.surefire.plugin.version>2.19</maven.surefire.plugin.version> 

<plugin> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>${maven.surefire.plugin.version}</version> 
    <dependencies> 
     <dependency> 
      <groupId>org.junit.platform</groupId> 
      <artifactId>junit-platform-surefire-provider</artifactId> 
      <version>${junit.platform.version}</version> 
     </dependency> 
     <dependency> 
      <groupId>org.junit.jupiter</groupId> 
      <artifactId>junit-jupiter-engine</artifactId> 
      <version>${junit.jupiter.version}</version> 
     </dependency> 
    </dependencies> 
</plugin> 
+0

Aaha so hatte ich die Abhängigkeiten innerhalb des Plug-Abschnitt zu verwenden. Ich habe gerade auf der obersten Ebene gesetzt. –