让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=trueconfigurationsurefire。 或者在命令行上:

 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>