Pipelines のテスト レポート

ビルドで失敗したテストを、簡単に特定できるようになりました。エラーを含む JUnit または Maven Surefire XML テスト結果がパイプラインで検出されると、テスト レポートが自動で有効になります。

テスト レポートの仕組み

ビルド ステップでテスト結果を生成すると、パイプラインがそれを自動で検知して Web インターフェイスでエラー状況を表示します。現在、これは記述されている言語に関係なく、JUnit と Maven Surefire XML フォーマットで動作します。 

リポジトリの読み取りアクセス権を持つすべてのユーザーが、パイプラインのログ パネルでテスト結果を確認できます。テストの失敗結果が見つかった場合、ログ ビューには失敗したテストがハイライトで示され、失敗理由と、存在する場合はスタックトレースが表示されます。[ビルド] タブから完全なログ ビューを参照することもできます。

[テスト] タブは、レビューが必要な、失敗したテストがある場合にのみ表示されます。

失敗したテストの制限

  • 最初の 100 件の失敗したテスト結果のみが表示されます。

  • スタックトレースなどの各テスト ケース フィールドには、最大 2,000 文字の制限があります。

テスト レポートを構成する

テスト レポートを有効化するには、ビルド テストのレポートが、次のいずれかのサポート対象の既定ロケーション (ディレクトリの階層は 3 レベル) に生成されることを確認します。

1 ./**/surefire-reports/**/*.xml
1 ./**/failsafe-reports/**/*.xml
1 ./**/test-results/**/*.xml
1 ./**/test-reports/**/*.xml
1 ./**/TestResults/**/*.xml

テスト レポートのファイル スキャナは、ビルドのベース ディレクトリ (/opt/atlassian/pipelines/agent/build) から検索を開始します。

テスト ランナーを構成する

Maven Surefire プラグイン

Maven ビルドジョブでは、Maven Surefire プラグインを使用している場合は特別な設定は不要です。ユニットまたはインテグレーション Maven テストの終了条件が満たされると、レポートが自動で生成されます。

PHPUnit

PHPUnit テスト レポートの場合、テスト レポート出力を特定のロケーションに生成するには、--log-junit パラメータを明示的に指定する必要があります。

bitbucket-pipelines.yml

1 2 3 4 5 6 7 8 9 10 image: php:7.1.1 pipelines: default: - step: script: - apt-get update && apt-get install -y unzip - curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer - composer require phpunit/phpunit - vendor/bin/phpunit --log-junit ./test-reports/junit.xml

dotnet

dotnet テスト レポートでは、互換性のある XML テスト結果を生成する次の 2 つの方法があります。

  • JUnitTestLogger を使用して JUnit フォーマットを直接出力する

    bitbucket-pipelines.yml

    1 2 3 4 5 6 7 8 image: mcr.microsoft.com/dotnet/sdk pipelines: default: - step: script: - dotnet add package JUnitTestLogger --version 1.1.0 - dotnet test --logger "junit"

     

  • trx2unit を使用して Visual Studio のテスト結果ファイル (.trx) を JUnit テスト結果ファイル (.xml) に変換する

    bitbucket-pipelines.yml

    1 2 3 4 5 6 7 8 9 10 11 image: mcr.microsoft.com/dotnet/sdk pipelines: default: - step: script: - dotnet tool install -g trx2junit - dotnet test --logger 'trx;LogFileName=log.trx' after-script: - export PATH="$PATH:/root/.dotnet/tools" - trx2junit ./TestResults/*.trx

その他のテスト ランナー

その他のテスト ランナーの場合は、互換性を持つ XML 形式のテスト結果が、既定のサポート対象のロケーションのいずれかにビルドの一部として生成されることを確認します。

その他のヘルプ