2016-06-14 7 views
0

私は多くのサブプロジェクトを含む複数のプロジェクトを含むビルドビルドを持っています。テストフェーズでは、各プロジェクトはテストを実行し、プログラム的にはjunitテストレポートを生成し、対応するモジュールのターゲットフォルダに/target/surefire-reports/と入力します。 Jenkinsのビルドのステータスページでビルドが成功した後、私はグラフとしてテスト結果を見ることができました。しかし、問題はジェンキンスが生成されたjunit xmlをすべて取っていないことです。私はビルド全体で850のテストケースを持っていますが、グラフとテスト結果では449しか表示されません。何が原因だろうか。Jenkinsはビルド状況ですべてのJunitレポートを表示していません

junitレポートの生成に問題はありませんが、すべてのテストケースでレポートが生成されていますが、Jenkinsはすべてを識別できません。 Jenkinsのテストケースの数は、テストファイルを追加したり削除したりすることなく、ビルドごとに異なります。

FYI: 私は手動でjunitレポートを生成しています。それをJenkinsに通知するために、私はmavenのFireプラグインを有効にして、ターゲットのsurefire-reportsフォルダにレポートを追加しました。 mavenビルドプロジェクトフリースタイルプロジェクトを作成しました。

紛失しているものはありますか?

答えて

0

私もこのに走った、とここでの私のthougthsです: http://javamemento.blogspot.no/2016/02/sonar-jacoco-maven-multi-module.html

  1. 問題が1つのレポートファイルに結果を連結する必要があります。

だからあなたのポンポンがこのような何かを持っている必要があります。

<build> 
    <plugins> 
     <plugin> 
    <groupId>org.jacoco</groupId> 
    <artifactId>jacoco-maven-plugin</artifactId> 
    <version>0.7.5.201505241946</version> 
    <executions> 
    <execution> 
    <id>agent-for-ut</id> 
    <goals> 
    <goal>prepare-agent</goal> 
    </goals> 
    <configuration> 
    <destFile>${sonar.jacoco.reportPath}</destFile> 
    <append>true</append> 
    </configuration> 
    </execution> 
    <execution> 
    <id>agent-for-it</id> 
    <goals> 
    <goal>prepare-agent-integration</goal> 
    </goals> 
    <configuration> 
    <destFile>${sonar.jacoco.itReportPath}</destFile> 
    <append>true</append> 
    </configuration> 
    </execution> 
    </executions> 
    </plugin> 
</plugins> 
</build> 

キーワードはここに今、すべてのデータが、1つのレポートファイルに保存されます

<append>true</append> 

です。

  1. 親pomにのみあなたのmaven-surefire-pluginを呼び出していることを確認してください。あなたの子供のポンも同様にそれを含めると、結果は親のポンで上書きされます。ここでのより多くの癖:http://javamemento.blogspot.no/2016/06/sonar-maven-surefire-plugin-quirks.html

  2. 最後に、junitとvoidメソッドを正しく使用していることを確認してください。メソッドの副作用のテストまたは確実な動作は、奇妙な動作をします。 http://junit.org/junit4/faq.html#atests_4

関連する問題