Pipelines のテスト レポート

このページの内容

お困りですか?

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

コミュニティに質問

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

テスト レポートの仕組み

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

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

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

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

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

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

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


The test report file scanner will begin searching from the base directory of your build: /opt/atlassian/pipelines/agent/build

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

Maven Surefire / Failsafe プラグイン

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

Gradle

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

PHPUnit

For PHPUnit test reports, you should explicitly specify the --log-junit parameter to generate the test reports output to a particular location.

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:6
pipelines:
  default:
    - step:
        script:
		  - npm install mocha
          - mocha test --reporter mocha-junit-reporter --reporter-options mochaFile=./test-reports/junit.xml

Python の Unittest

For Python Unittest framework you can use the unittest-xml-reporting module when configuring the tests, adding the XMLTestRunner in your test configuration.

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 形式のテスト結果が、既定のサポート対象のロケーションのいずれかに、ビルドの一部として生成されることを確認します。



最終更新日 2018 年 6 月 5 日

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

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