我正在使用surefire maven插件来运行单元测试。我的测试类看起来像这样:
public class Test1 {
@org.junit.Test
public void testThatFails(){
Assert.assertTrue("false is never true", false);
}
}
当测试失败时,我希望能够看到与AssertionError相关联的消息“false is never true”,但它没有被打印到控制台上。相反,我被指示在surefire报告目录中寻找它(这很糟糕)。
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.
浏览到上面的目录后,我找到了一个包含我的JUnit测试错误消息(包括堆栈跟踪)的.txt文件。 我想在构建过程中将相同的消息和堆栈跟踪打印到控制台上(如果它也被添加到报告文件中,那就太好了)。 有什么想法吗?
.xml
文件可能是 CI 服务器首选的文件格式,你很可能是安全的。我实际上没有尝试创建使用此选项的 TeamCity 或 Jenkins 作业;我不确定这是否会有问题。 - Jesse Webb-Dsurefire.useFile=false
。 - ericbn