I have a project with several modules. When all tests pass, Maven test runs them all.
When tests fail in the first module, maven will not continue to the next project. I have testFailureIgnore set to true in Surefire settings, but it doesn't help.
How do I make maven run all tests regardless of earlier failures?
mvn help:effective-pom
to make sure it's in there in the right place...
From the Maven Embedder documentation:
-fae,--fail-at-end Only fail the build afterwards; allow all non-impacted builds to continue -fn,--fail-never NEVER fail the build, regardless of project result
So if you are testing one module than you are safe using -fae
.
Otherwise, if you have multiple modules, and if you want all of them tested (even the ones that depend on the failing tests module), you should run mvn clean install -fn
.
-fae
will continue with the module that has a failing test (will run all other tests), but all modules that depend on it will be skipped.
I just found the -fae
parameter, which causes Maven to run all tests and not stop on failure.
Either configure Surefire with <testFailureIgnore>true</testFailureIgnore>
.
Or on the command line:
mvn install -Dmaven.test.failure.ignore=true
--fail-at-end or -fae
should make it continue on and just fail the build at the end, though it also skips dependent modules see stackoverflow.com/a/12616700/32453
Try to add the following configuration for surefire plugin in your pom.xml of root project:
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<testFailureIgnore>true</testFailureIgnore>
</configuration>
</plugin>
</plugins>
</build>
[...]
</project>
A quick answer:
mvn -fn test
Works with nested project builds.
Success story sharing
--fail-never
. Maven will not fail the build even if there are compile errors. If I use this option on Jenkins, the build looks successful even if it has lots of compile errors. I prefer-Dmaven.test.failure.ignore=true
in this case and let Jenkins analyze the surefire reports.-fae
directly inpom.xml?