私は "Jenkins"の初心者で、次の このチュートリアル を使用しています。
6番目のステップ でエラーが発生しました。
xcodebuild:エラー:現在、スキームJenkinsTestはテストアクション用に設定されていません。
ビルドステップ 'Xcode'がビルドを失敗としてマークテスト結果の記録エラー:ステップ「JUnitテスト結果レポートの公開」に失敗しました:テストレポートファイルが見つかりませんでした。構成エラー?終了:失敗
テストレポートXMLで、 "test-reports /.* xml"
私は自分の解決策を見つけようとしましたが、多くの質問がSO 私も同じ問題のように にありましたが、解決策が見つかりませんでした。
「Jenkins」によって.xmlファイルが自動的に生成されますか、それとも手動で.xmlファイルを追加する必要がありますか?
簡単に言えば、上記のエラーに基づいて正しい方向に案内してください。
最初に、テスト実行後にjunit.xmlが生成されることを確認します。
Jenkinsのジョブは、現在のワークスペースを通過できない場合があります。そのため、使用する前にレポートを現在のワークスペースにコピーして戻すことをお勧めします。
cd <path to report>
cp *.xml $WORKSPACE
これでジェンキンがレポートを取得するはずです。注:構成では最初にエラーが表示される場合があります(ワークスペースでxmlファイルが見つからないため)
私はnosetest(python)を使用してxUnit互換ファイルを生成していますが、次のようになりました:
ERROR: No test report files were found. Configuration error?
私はjunitプラグインを次のように使用していました:
junit "test-results-unit.xml"
junit
はデフォルトでWORKSPACE
ディレクトリを追加するようであるため、ファイルに完全なPATH
を使用しても機能しません。結果のファイルからWORKSPACEディレクトリへのシンボリックリンクを作成して、それを機能させました。
sh 'ln -s tests/test-results-unit.xml $WORKSPACE'
junit "test-results-unit.xml"
また、 'allowEmptyResults'オプションを有効にして、テスト結果が見つからないときにjunitプラグインが例外をスローしないようにすることもできます。
この方法では、「test-results」ディレクトリが存在するかどうかは関係ありません。
junit allowEmptyResults: true, testResults: '**/test-results/*.xml'
他の答えは、ファイルをワークスペースディレクトリにコピーすることを示唆していますが、私にとっては「**」で始まるパスを変更するだけで問題が解決したようです
junit '**/test-reports/*.xml'
Jenkins junitプラグインページ は、「Ant glob構文でJUnit XMLファイルへのパスを指定する」必要があることを示しています。これが何を意味するのか詳細に掘り下げたわけではありませんが、「**」でパスを開始するだけで機能します。
@Acidのおかげで、本当に助かりました。まず、モジュール/ビルド/テスト結果をワークスペースディレクトリにコピーします
cp -r app/build/test-results $WORKSPACE/test-results
そして、私はこのワイルドカードパスを使用しました
**/test-results/**/*.xml