1

したがって、CoberturaプラグインがインストールされたJenkinsがあります。POM に Cobertura と findbugs があり、テストが 2 回実行されています...

これは、Cobertura がバイトコードを計測し、これによりテストが再実行されるためだと思いますが、計測されたコードは計測されていないコードと同じではないため、これは悪いことではないと思います...しかし、私は本当にテストが一度だけ実行されるように。

これらのコマンドを使用して、コマンドラインでローカルに実行しようとしました:

mvn cobertura:cobertura -Dcobertura.report.format=xml

mvn findbugs:findbugs -Dfindbugs.onlyAnalyze=true

mvn cobertura:cobertura -Dcobertura.report.format=xml findbugs:findbugs -Dfindbugs.onlyAnalyze=true

しかし、Jenkinsのように2回実行されているテストをローカルで2回実行することはできません。なぜこれが起こっているのか、それを止めることができるのかどうかはわかりません。

Cobertura を使用してレポートを生成しています...生成するには、テストを再実行する必要があると思いますか? しかし、それらはすでに一度実行されているため、意味がありません。

4

2 に答える 2

3

私たちは同じ行動に直面しました。カバレッジを計算するためにテスト ケースを再実行するのは、Cobertura のデフォルトの動作のようです。

JaCoCo ツールに切り替えたところ、より優れていることがわかりました。カバレッジ レポートのテスト ケースは再実行されません。

于 2015-06-18T15:32:16.987 に答える
1

実際、テストを 2 回実行するcobertura-maven-plugin(または異なるプロファイルを使用する) 必要があります。この動作は、Cobertura インストルメンテーションを独自のライフサイクルで実行し、Cobertura API の代わりに Cobertura 実行可能ファイルを使用するためです。

テストを 1 回だけ実行して Cobertura レポートを生成したい場合は、qualinsight-mojo-cobertura-coreプラグインを試すことができます。このプラグインは、異なるアプローチを使用して Cobertura インストルメンテーションを実行します。

プロジェクトのページhttps://github.com/QualInsight/qualinsight-mojo-coberturaにドキュメントがあります。

このプラグインにはまだいくつかの制限がありますが、状況によっては実行可能な代替手段になる可能性があることに注意してください。

それが役に立てば幸い !

よろしく。

于 2015-09-21T11:34:28.543 に答える