コンソールでMavenのsurefireshowstacktraceを作成します


回答:


56

次のコマンドを使用して、target / surefire-reportsフォルダー内のレポートファイルの代わりに、コンソールでスタックトレースを確認できます。

mvn -Dsurefire.useFile=false test

1
これにはコンソールへのロガー出力のみがありますが、スタックトレースは引き続きsurefire-reportsに送られます
lisak

4
trimStackTraceを使用した答えの方が優れています。
–rü

192

私が見つけた関連する問題は、最近のバージョンのsurefireがtrimStackTraceをデフォルトでtrueに設定していることです(失敗したテストのほとんどのスタックトレースを役に立たないものにします)。これは非常に不便です。

設定-DtrimStackTrace=falseまたは定義

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

これを解決しました。


63
うん。Mavenは無意味な下痢のページを印刷するだけでなく、実際に見る必要のあるものを隠します。
Sridhar Sarnobat 2016年

7
この間違ったデフォルトのissues.apache.org/jira/browse/SUREFIRE-1457に関する問題を作成しました。再開するためにコメントしてください。
レダHousni Alaoui

2
@RédaHousniAlaouiJUnit5の別の問題に移動したようです:issues.apache.org/jira/browse/SUREFIRE-1432そこで投票しました。
カリエム

'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>
..
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.