当我运行命令时,Maven Failsafe 插件找不到我的 JUnit 5 集成测试mvn clean failsafe:integration-test
,尽管它可以找到文件。
我有junit-jupiter-api
and junit-jupiter-engine
作为测试依赖项:
<properties>
<junit.jupiter.version>5.0.1</junit.jupiter.version>
</properties>
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>${junit.jupiter.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>${junit.jupiter.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
我的集成测试命名正确(遵循**/*IT.java
, **/IT*.java
, 或者**/*ITCase.java
Failsafe 默认包含,Surefire 默认排除)。
有什么方法可以将 JUnit 5 测试与 Failsafe 一起使用吗?
Edit:这个答案之前是正确的maven-failsafe-plugin:2.22.0
. See davidxxx的回答 https://stackoverflow.com/a/51837961/2876432以获得理想且最新的解决方案。
The maven-failsafe-plugin
现在不支持 JUnit 5 http://maven.apache.org/surefire/maven-failsafe-plugin/featurematrix.html, 盒子外面。
然而,喜欢与maven-surefire-plugin https://stackoverflow.com/questions/36970384/surefire-is-not-picking-up-junit-5-tests,您可以使用以下命令运行 JUnit 5 测试maven-failsafe-plugin
通过指定对org.junit.platform:junit-platform-surefire-provider:1.0.1
与早期版本的maven-failsafe-plugin:2.19.1
.
由于以下原因,它不适用于当前版本 2.20 的故障保护(与 Surefire 出现错误的方式相同)OutOfMemory error https://github.com/junit-team/junit5/issues/809.
请参阅下面的插件配置示例:
<properties>
<junit.platform.version>1.0.1</junit.platform.version>
</properties>
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.19.1</version>
<dependencies>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-surefire-provider</artifactId>
<version>${junit.platform.version}</version>
</dependency>
</dependencies>
</plugin>
你可以找到GitHub 上的完整示例(以及失败的示例) https://github.com/TickleThePanda/junit5-failsafe-example/。要测试它是否有效,您可以运行mvn clean failsafe:integration-test
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)