2012-10-12 19 views
8

JaCoCoコードカバレッジレポートを作成するプロジェクトがJenkinsにあります。 jacoco:testを実行してjacoco:reportをローカルに実行すると、正しいファイル(.exec、.classes、およびsources)がmyproject/target/scala-2.9.1/jacocoに作成されます。JenkinsとJaCoCo with sbt

しかし、ジェンキンスでビルドする場合、これはクラスディレクトリを作成するだけでコードを取り上げるが、コードをカバーするテストではないので、コードカバレッジは0%になります。

誰もがこのようにsbtを使ってジャココを持っていますか?

答えて

0

あなたのJenkinsジョブ設定に関する情報はあまりありませんでした。私はいくつか前提をしていますが、Jenkinsジョブで複数のビルドステップを追加/実行できます。ビルドステップは、Mavenを実行するか、任意のスクリプトを実行するようなものを実行します。

最初のビルドステップはJacocoを実行するために "jacoco:test jacoco:report"を実行するMavenビルドステップです。次に2番目のビルドステップはjacoco.execファイルを探して実行するものです。

2

新しいScalaプロジェクトを開始しようとしているときに同じ問題が発生していました。いくつかのパス構成を試した後、私は解決策を見つけ出すことができました。

クラスディレクトリへのパスのデフォルト値は**/classesです。私は、このパターンがtarget/scala-X.XX/classes/target/scala-X.XX/jacoco/classes/の一致を許していることが問題だと思う。

クラスディレクトリパスをtarget/*/classesに変更すると、Jenkinsプラグインは正しいカバレッジ情報の報告を開始できます。

+0

驚異的!この投稿のおかげで、私は '**/target/*/classes'を使う必要があることがわかりました。 – kilo

+0

私は同じ問題に直面しています。 "target/*/classes"を設定する必要があるプロパティについて詳しく説明できますか? –