web-dev-qa-db-ja.com

Jenkins-失敗:テストレポートファイルが見つかりませんでした。構成エラー?

私は "Jenkins"の初心者で、次の このチュートリアル を使用しています。

6番目のステップ でエラーが発生しました。

xcodebuild:エラー:現在、スキームJenkinsTestはテストアクション用に設定されていません。

ビルドステップ 'Xcode'がビルドを失敗としてマークテスト結果の記録エラー:ステップ「JUnitテスト結果レポートの公開」に失敗しました:テストレポートファイルが見つかりませんでした。構成エラー?終了:失敗

テストレポートXMLで、 "test-reports /.* xml"

私は自分の解決策を見つけようとしましたが、多くの質問がSO 私も同じ問題のように にありましたが、解決策が見つかりませんでした。

「Jenkins」によって.xmlファイルが自動的に生成されますか、それとも手動で.xmlファイルを追加する必要がありますか?

簡単に言えば、上記のエラーに基づいて正しい方向に案内してください。

13
iPatel

最初に、テスト実行後にjunit.xmlが生成されることを確認します。

Jenkinsのジョブは、現在のワークスペースを通過できない場合があります。そのため、使用する前にレポートを現在のワークスペースにコピーして戻すことをお勧めします。

    cd <path to report>
    cp *.xml $WORKSPACE

これでジェンキンがレポートを取得するはずです。注:構成では最初にエラーが表示される場合があります(ワークスペースでxmlファイルが見つからないため)

9
Acid

私は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"
4
alfredocambera

また、 'allowEmptyResults'オプションを有効にして、テスト結果が見つからないときにjunitプラグインが例外をスローしないようにすることもできます。

この方法では、「test-results」ディレクトリが存在するかどうかは関係ありません。

junit allowEmptyResults: true, testResults: '**/test-results/*.xml'
0
Jay P.

他の答えは、ファイルをワークスペースディレクトリにコピーすることを示唆していますが、私にとっては「**」で始まるパスを変更するだけで問題が解決したようです

junit '**/test-reports/*.xml'

Jenkins junitプラグインページ は、「Ant glob構文でJUnit XMLファイルへのパスを指定する」必要があることを示しています。これが何を意味するのか詳細に掘り下げたわけではありませんが、「**」でパスを開始するだけで機能します。

0
ClemFandango

@Acidのおかげで、本当に助かりました。まず、モジュール/ビルド/テスト結果をワークスペースディレクトリにコピーします

cp -r app/build/test-results $WORKSPACE/test-results

そして、私はこのワイルドカードパスを使用しました

**/test-results/**/*.xml
0
Pedro Romão