Java 使用maven surefire将失败的测试详细信息输出到标准输出
当我使用maven 2运行构建时Java 使用maven surefire将失败的测试详细信息输出到标准输出,java,testing,maven-2,maven-surefire-plugin,Java,Testing,Maven 2,Maven Surefire Plugin,当我使用maven 2运行构建时 mvn clean install 我的测试由surefire插件运行。如果测试失败,我将获得以下输出: Results : Failed tests: test1(com.my.MyClassTest) Tests run: 3, Failures: 1, Errors: 0, Skipped: 0 [INFO] -------------------------------------------------------------------
mvn clean install
我的测试由surefire插件运行。如果测试失败,我将获得以下输出:
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.
要获得有关问题的详细信息,我必须去查看surefire reports文件夹。每次我的测试失败时都这样做会变得很烦人。有什么方法可以在stdout上获取这些详细信息(断言消息+异常+堆栈跟踪)?我发现stdout上生成的输出太多了,没有用处。请尝试在浏览器中保持HTML报告处于打开状态。运行测试后,只需刷新页面。查看
target/surefire reports/index.html
要将测试结果输出到标准输出而不是文件,请使用以下命令:
mvn test -Dsurefire.useFile=false
或者要在pom.xml
中进行配置,请将以下内容添加到插件
部分
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.10</version>
<configuration>
<useFile>false</useFile>
</configuration>
</plugin>
maven surefire插件
2.10
假的
尝试使用bellow maven命令
mvn干净安装-DskipTests
-DskipTests
编译测试,但跳过运行测试您可能正在使用较旧版本的Surefire。我发现较新的版本在控制台上产生更有用的输出
如果您只想看到失败的测试或有错误的测试,并且只想看到构建中的错误,那么可以将-q参数传递给Maven build命令。谢谢!错过了这个选择。所以,唯一输出到控制台而不是文件的是那个简短的报告,而所有其他员工(如xml、html)的报告仍在生成?是的。因此,您的断言消息、异常消息和堆栈跟踪就在
stdout
上。。。第一次它成功了,我修复了问题,我点击向上箭头并再次运行它,但下一次我发出一条消息,说需要再次检查目标/surefire报告,而不检查文件内容。