Java 使用maven surefire将失败的测试详细信息输出到标准输出

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] -------------------------------------------------------------------

当我使用maven 2运行构建时

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报告,而不检查文件内容。