作者:sweeteenring | 来源:互联网 | 2023-01-10 14:34
Mail Failsafe插件在我运行命令时找不到我的JUnit 5集成测试mvn clean failsafe:integration-test
,尽管它可以找到文件.
我有junit-jupiter-api
和junit-jupiter-engine
作为测试依赖项:
5.0.1
org.junit.jupiter
junit-jupiter-api
${junit.jupiter.version}
test
org.junit.jupiter
junit-jupiter-engine
${junit.jupiter.version}
test
我的集成测试是正确命名(下面的**/*IT.java
,**/IT*.java
或者**/*ITCase.java
,其中包括由故障安全默认值,由神火排除默认情况下).
有什么办法可以在Failsafe中使用JUnit 5测试吗?
1> Panda TG Att..:
编辑:这个答案之前是正确的maven-failsafe-plugin:2.22.0
.请参阅davidxxx对理想和最新解决方案的回答.
在maven-failsafe-plugin
目前不支持JUnit的5,开箱即用.
但是,与之一样maven-surefire-plugin
,您可以maven-failsafe-plugin
通过指定org.junit.platform:junit-platform-surefire-provider:1.0.1
与早期版本的依赖关系来运行JUnit 5测试maven-failsafe-plugin:2.19.1
.
它不具有故障保护的当前版本2.20(在该神火有错误的方式相同)由于工作的OutOfMemory
错误.
有关插件配置的示例,请参阅下面的内容:
1.0.1
maven-failsafe-plugin
2.19.1
org.junit.platform
junit-platform-surefire-provider
${junit.platform.version}
你可以在GitHub上找到这个工作的完整例子(和一个失败的例子).要测试它是否有效,您可以运行mvn clean failsafe:integration-test
.
对我来说,故障保护仍然没有进行集成测试.万无一失.
github.com/TickleThePanda/junit5-failsafe-example上的repo被破坏,并且没有运行集成测试,因为failafe插件中没有执行元素.
2> davidxxx..:
请注意,从JUnit 5文档开始:junit-platform-surefire-provider
不应再使用:
由于神火释放2.22.0
时,
junit-platform-surefire-provider
从JUnit的团队已被弃用,并将在JUnit平台的后续版本中停止使用。
此外,您还可以阅读maven-surefire-plugin
文档:
使用JUnit 5平台
要开始使用JUnit Platform,您需要至少TestEngine
在项目中添加一个
实现。例如,如果要使用Jupiter编写测试,请将测试工件添加junit-jupiter-engine
到POM中的依赖项
因此,您必须指定此test
依赖关系:
5.2.0
[...]
org.junit.jupiter
junit-jupiter-engine
${junit-jupiter.version}
test
[...]
而maven-failsafe-plugin
声明可能是那样简单:
maven-failsafe-plugin
2.22.0