I'm using the surefire maven plugin to run unit tests. My test class looks like this:
public class Test1 {
@org.junit.Test
public void testThatFails(){
Assert.assertTrue("false is never true", false);
}
}
When a test fails I expect to see the message "false is never true" that was associated with the AssertionError, but it's not printed to the console. Instead I'm instructed to dig around in the surefire report directory and find it (which sucks).
Running com.example.Test1
Tests run: 4, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 5.799 sec <<< FAILURE!
Running com.example.Test2
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.016 sec
Running com.example.Test3
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.122 sec
Results :
Failed tests:
testThatFails(com.example.Test1)
Tests run: 12, Failures: 1, Errors: 0, Skipped: 0
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] There are test failures.
Please refer to /<path-to-pom.xml>/target/surefire-reports for the individual test results.
After browsing to above directory I find the .txt file which contains the error message from my JUnit test, including the stack trace. I would like to see that same message and stack trace printed to the console during build (if it also gets added to a report file that would be great). Any ideas?