Pipelines のテスト レポート

このページの内容

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

robotsnoindex
robotsnoindex
robotsnoindex

ビルドで失敗したテストをすばやく特定できるようになりました。失敗を含む、xUnit/JUnit との互換性を持つテスト結果がパイプラインで検出されると、テスト レポートが自動的に有効化されます。

テスト レポートの仕組み

ビルド ステップでテスト結果を生成すると、Pipelines はそれを自動的に検知し、Web インターフェイスで失敗状況を表示します。これは xUnit との互換性を持つ XML 形式のほとんどのテスト レポート (ただし xUnit.net は含まない) に対応し、それらの作成言語は問いません。 

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

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

テスト ログ ビューのスクリーンショット

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

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

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


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

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

Maven Surefire / Failsafe プラグイン

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

Gradle

Grade ビルドの場合、xUnit との互換性を持つ XML 形式のテスト レポートが自動的に生成されます。Gradle はテスト結果を既定ロケーションの 1 つに既定で生成するため、特別な構成は不要です。

PHPUnit

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

bitbucket-pipelines.yml
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

Node.js 用 Mocha

Mocha テスト フレームワークの場合、mocha-junit-reporter を使用して、テスト レポートの生成先となる出力ファイルを構成できます。 

bitbucket-pipelines.yml
image: node:10.15.0
pipelines:
  default:
    - step:
        script:
          - npm install mocha mocha-junit-reporter --save-dev
          - mocha test --reporter mocha-junit-reporter --reporter-options mochaFile=./test-reports/junit.xml

Python の Unittest

Python の Unittest フレームワークでは、テストを構成するときに unittest-xml-reporting モジュールを使用してテスト構成に XMLTestRunner を追加できます。

test.py
import unittest
import xmlrunner

class TestExample(unittest.TestCase):
    def testIsTrue(self):
        self.assertTrue(True)

if __name__ == '__main__':
    unittest.main(testRunner=xmlrunner.XMLTestRunner(output='test-reports'))

その他のテスト ランナー

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



最終更新日 2020 年 6 月 24 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.