使Maven的surefire在控制台中显示stacktrace


Answers:


56

您可以使用以下命令在控制台上查看堆栈跟踪,而不是target / surefire-reports文件夹中的报告文件:

mvn -Dsurefire.useFile=false test

1
这仅将记录器输出到控制台,但是stacktraces仍然用于
surefire

3
使用trimStackTrace的答案更好!
RU-

187

我发现的一个相关问题是,最新版本中的surefire显然默认情况下将trimStackTrace设置为true(在失败的测试中使大多数堆栈跟踪无效),这非常不方便。

设定-DtrimStackTrace=false或定义

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
        <trimStackTrace>false</trimStackTrace>
    </configuration>
</plugin>

解决了这个。


61
是的 Maven不仅会打印出毫无意义的腹泻页面,而且还隐藏了您实际需要查看的内容。
Sridhar Sarnobat '16

7
我创建了一个有关此错误默认问题的问题。apache.org/jira/browse/SUREFIRE-1457。请对其进行评论以帮助其重新打开。
REDA Housni阿拉维

2
@RédaHousniAlaoui似乎他们将其移至JUnit 5的另一个问题:issue.apache.org/jira/browse/SUREFIRE-1432刚刚在这里投票。
卡里姆18'Dec 18'18

我将'trinStackTrace'和'useFile'都设置为false ...,但仍然没有堆栈堆栈跟踪测试失败:-(
Kris

@Kris您的意思是堆栈轨迹有很多行,输出显示...还有26条吗?
netawater

25

要扩展之前给出的答案,您还可以在以下代码中配置此行为pom.xml

..
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>2.5</version>
  <configuration>
    <useFile>false</useFile>
  </configuration>
</plugin>
..
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.