web-dev-qa-db-ja.com

Jenkinsパイプラインで複数のJUnit結果ファイルを使用する

私のJenkins piplelineで、デバッグとリリース構成の両方で単体テストを実行します。各テスト構成は、個別のJUnit XML結果ファイルを生成します。両方のテスト名:デバッグ構成とリリース構成は同じです。現在、テスト結果を表示するために次のjunitコマンドを使用しています。

junit allowEmptyResults: true, healthScaleFactor: 0.0, keepLongStdio: true, testResults: 'Test-Dir/Artifacts/test_xml_reports_*/*.xml'

問題は、Jenkins UIの両方にあります。デバッグおよびリリーステストの結果が一緒に表示され、どのテスト(デバッグまたはリリース構成から)が失敗したかを知ることができません。デバッグとリリーステストの結果を別々に表示することはできますか?はいの場合、どうすればよいですか?

12
Dima

それは私の質問の解決策には見えません。回避策として、JUnit XMLレポート形式を変更し、ビルドバリアント名(デバッグ/リリース)をパッケージ名として含めました。

0
Dima

異なるDBタイプの2つの異なる構成に対して同じ統合テストを実行します。私たちはmavenとフェイルセーフプラグインを使用しているので、-Dsurefire.reportNameSuffix 2つの実行の違いを確認できます。

以下は、Jenkinsfileのブロックの例です。

stage('Integration test MySql') {
    steps {
        timeout(75) {
            sh("mvn -e verify -DskipUnitTests=true -DtestConfigResource=conf/mysql-local.yaml " +
                "-DintegrationForkCount=1 -DdbInitMode=migrations -Dmaven.test.failure.ignore=false " +
                "-Dsurefire.reportNameSuffix=MYSQL)
        }
    }
    post {
        always {
            junit '**/failsafe-reports/*MYSQL.xml'
        }
    }
}

レポートでは、mysqlに対して実行された統合テストが、名前にMYSQLが追加されて表示されます。

0
sporkthrower