2015-12-14 22 views
5

GradleJenkinsに設定してTestNGテストを実行しています。テストを実行しなかった場合、Jenkinsビルドに失敗する方法?

ジョブ構成:
ビルドセクション - >起動のGradleスクリプト - >使用のGradleラッパー - >タスク:

clean test -Dgroups=myTestNGTestGroupName 

Jenkinsコンソール出力で、私は特定のパラメータでgradlew.batの実行からログを見ることができます(そのうちの1つは-Dgroups=myTestNGTestGroupNameです))。

私たちはかなり多くのJenkinsジョブと自動化Seleniumのテストを持っています。
日常的には、失敗したジョブだけをチェックしています。

リファクタリングテスト中TestNGグループ名が変更されたり、誤植が発生することがあります。
テスト・リポジトリ内のテストグループ名を変更し、Jenkins仕事を更新するのを忘れた場合:
テストが実行され、ジョブがまだ(ビルドが成功している)を通過しています。

テストが実行されなかった場合、Jenkinsはビルドに成功していないとマークするにはどうすればよいですか?

答えて

2

TestNGは、テスト実行後に毎回
(0回のテストが実行された場合でも)ファイルを生成します。

このファイルを解析することができます。私はText-finder Plugin
を使用していた最も簡単な解決策は

私は次のようにPost-build ActionsJenkins Text Finderを追加しました(これは私の場合には、既にJenkinsに追加されました):それはJenkinsコンソール出力ログにどのように見えるか text-finder-plugin

BUILD SUCCESSFUL 

Total time: 42.105 secs 
Build step 'Invoke Gradle script' changed build result to SUCCESS 
Archiving artifacts 
Checking <testng-results skipped="0" failed="0" total="0" passed="0"> 
c:\jenkins\workspace\my-job-name\build\reports\tests\testng-results.xml: 
<testng-results skipped="0" failed="0" total="0" passed="0"> 
Build step 'Jenkins Text Finder' changed build result to UNSTABLE 
... 
Finished: UNSTABLE 
関連する問題