25

当我使用 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 报告文件夹。每次我的测试失败时都这样做会变得很烦人。有什么方法可以在 stdout 上获取这些详细信息(断言消息 + 异常 + 堆栈跟踪)?

4

3 回答 3

32

我发现产生的输出太多而无stdout用。尝试在浏览器中打开 HTML 报告。运行测试后,只需刷新页面。看看target/surefire-reports/index.html

要将测试结果输出到stdout文件而不是文件,请使用以下命令:

mvn test -Dsurefire.useFile=false

或者在您的配置中pom.xml添加以下内容到您的plugins部分。

<plugin>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>2.10</version>
  <configuration>
    <useFile>false</useFile>
  </configuration>
</plugin>
于 2011-11-18T09:53:48.237 回答
0

您可能使用的是旧版本的 Surefire。我发现较新的版本会在控制台上产生更有用的输出。

如果您只想查看失败的测试或有错误的测试并且只查看构建中的错误,您可以将 -q 参数传递给您的 Maven 构建命令。

于 2019-01-16T15:18:23.417 回答
-10

尝试使用波纹管Maven命令

mvn clean install -DskipTests

-DskipTests编译测试,但跳过运行它们

于 2018-07-10T04:28:06.020 回答