Output failed test details to stdout using maven surefire

pavel_kazlou picture pavel_kazlou · Nov 18, 2011 · Viewed 24.6k times · Source

When I run my build using maven 2

mvn clean install

my tests are run by surefire plug-in. In case test failed I get the following output:

Results :

Failed tests: 
  test1(com.my.MyClassTest)

Tests run: 3, Failures: 1, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] There are test failures.

Please refer to /home/user/myproject/mymodule/target/surefire-reports for the individual test results.

To get the details about the problem I have to go and check surefire reports folder. Doing this every time my tests fail becomes annoying. Is there any way I can get those details (assert message + exception + stack trace) right here on the stdout ?

Answer

orien picture orien · Nov 18, 2011

I find there's way too much output produced on stdout to be useful. Try leaving the HTML report open in your browser. After running your tests just refresh the page. Have a look at target/surefire-reports/index.html.

To output test results to stdout rather than a file use the following command:

mvn test -Dsurefire.useFile=false

Or to configure in your pom.xml add the following to your plugins section.

<plugin>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>2.10</version>
  <configuration>
    <useFile>false</useFile>
  </configuration>
</plugin>