web-dev-qa-db-ja.com

Mavensurefireを使用して失敗したテストの詳細をstdoutに出力する

Maven2を使用してビルドを実行すると

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で取得する方法はありますか?

18
pavel_kazlou

stdoutで生成された出力が多すぎて役に立たないことがわかりました。 HTMLレポートをブラウザで開いたままにしてみてください。テストを実行した後、ページを更新するだけです。 target/surfire-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>
25
orien

古いバージョンのSurefireを使用している可能性があります。新しいバージョンでは、コンソールでより便利な出力が生成されることがわかりました。

失敗したテストまたはエラーのあるテストのみを表示し、ビルドのエラーのみを表示したい場合は、-q引数をMavenビルドコマンドに渡すことができます。

0
Jim Bethancourt

以下のMavenコマンドを使用してみてください

mvn clean install -DskipTests

-DskipTestsテストをコンパイルしますが、実行をスキップします

0
vipul gulhane