6

私はジェンキンスで毎晩実行される仕事をしています。このビルド中に実行されるタスクは、コンパイル、単体テスト、統合テスト (実行する「実際の単体テスト」よりも長い JUnit テストのみ)、および Sonar 品質分析です。

ただし、テストが失敗した場合、ジョブは成功したと見なされるため、この失敗を通知する電子メールは送信されません。

使用する Maven コマンドはmvn clean install sonar:sonar. 目標を削除してinstallも何も変わりません。

それの何が問題なのですか?

1 つの Jenkins ジョブだけで期待される動作 (つまり、テストが失敗したときにビルドが不安定になる) を取得する方法はありますか、または「Java 部分」全体 (コンパイル、単体テスト、および統合テスト) 用に 1 つずつ、2 つのジョブを作成する必要がありますか? 、そしてソナー分析用の1つ?

Maven 2.0.9、Java 1.6、Sonar 2.8、Jenkins 1.413 を使用しています。

4

1 に答える 1

1

Jenkins はそのプロパティを設定しているようです: Hudson build successfully with unit test fails

プロパティ (-Dmaven.test.failure.ignore=false) を使用すると、テストの失敗時にビルドが停止します。

ソナー用のジェンキンスプラグインがあります: テストが失敗しても分析するようです: http://jira.codehaus.org/browse/SONARPLUGINS-461

私のソナーのインストールでは、ソナーとは別にテストを実行し、junit/surefire レポートを再利用します。そうすれば、ソナーから独立してテストを制御できます。

于 2011-06-21T16:08:41.517 に答える