问题描述
我已经看过 Surefire没有接受Junit 5测试还有一些相关的问题,但是随着Junit5的发展,这些建议似乎不再有效.
I have already looked atSurefire is not picking up Junit 5 testsand a few related questions however things are rapidly evolving with Junit5 that those suggestions don't seem to work anymore.
Maven:3.3.9我的pom.xml中有以下内容
Maven : 3.3.9I have the following in my 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>
如您所见,这些是Junit5的最新可能版本,但是当我运行mvn install命令时,它仍未检测到任何测试.
As you can see these are the most recent possible versions of Junit5 am guessing but when I run the mvn install command it still does not detect any tests.
有什么建议吗?可以肯定的是,它不是Maven + surefire插件+ Junit5 api + Junit5引擎不能一起玩,并且很乐意升级/降级版本以使其正常工作.
Any suggestions? Pretty sure it is the maven + surefire plugin + Junit5 api + Junit5 engine not playing together and am happy to upgrade/downgrade versions to make it work.
推荐答案
您可以将surefire降级为v2.19
.
You could downgrade surefire to v2.19
.
在Surefire 2.20上还有一个公开问题 JUnit5.
There's an open issue againt JUnit5 on Surefire 2.20.
以下Surefire配置可用于JUnit5:
The following Surefire configuration works with 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>
这篇关于Maven surefire插件无法检测Junit5测试的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!