让Maven运行所有testing,即使有些失败
我有一个项目有几个模块。 当所有的testing通过,Maventesting运行它们。
当第一个模块中的testing失败时,maven将不会继续下一个项目。 我在Surefire设置中将testFailureIgnore设置为true,但是没有帮助。
我如何让Maven运行所有testing?
从文档:
-fae
,–--fail-at-end
只在之后失败, 允许所有不受影响的构build继续
-fn
,–--fail-never
不要失败的构build,无论项目结果
所以如果你使用-fae
来testing一个模块而不是安全的。
否则,如果你有多个模块,并且你想要testing所有的模块(甚至那些依赖于失败的testing模块的模块),你应该运行mvn clean install -fn
。
-fae
将继续执行失败testing的模块(将运行所有其他testing),但所有依赖它的模块将被跳过。
我刚刚find了“-fae”参数,这会导致Maven运行所有的testing,而不是停在失败。
你能用surefire 2.6进行testing吗?或者用testFailureIgnore=true
configurationsurefire。 或者在命令行上:
mvn install -Dmaven.test.failure.ignore=true
尝试在root项目的pom.xml中为surefire插件添加以下configuration:
<project> [...] <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <testFailureIgnore>true</testFailureIgnore> </configuration> </plugin> </plugins> </build> [...] </project>
快速回答:
mvn -fn test
与嵌套的项目构build一起使用。
您可以尝试使用Maven故障安全插件
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <executions> <execution> <configuration> ........ </configuration> </execution> </executions> </plugin>