私はgradle 1.7とjacocoプラグインを使用しています。私のプロジェクトはJavaおよびscalaプラグインを使用しています
Gradlew -i clean jacocoTestReportを実行すると
レポートは作成されず、ログに表示されます
:bl:jacocoTestReport (Thread[Daemon Thread 13,5,main] - start
:bl:jacocoTestReport
Skipping task ':bl:jacocoTestReport' as task onlyIf is false.
:bl:jacocoTestReport SKIPPED
:bl:jacocoTestReport (Thread[Daemon Thread 13,5,main]) - complete
どういう意味ですか?レポートが作成されないのはなぜですか?
タスクは、カバレッジデータが利用可能な場合にのみ実行されます。 test
タスクを実行することでも確認できます。
Build.gradleにトップレベルで以下を追加します。
test {
finalizedBy jacocoTestReport
}
これは、テストタスクの最後にjacocoTestReportタスクを実行する必要があることを意味します。テストの実行後、カバレッジ分析を受け取ります。
上記のどれも私にとってはうまくいきませんでした。私のために働いたのは次のことでした
Build.gradleの一番上に追加します。
apply plugin: 'jacoco' // code coverage reports
次を「タスク」として追加します。
// Generate code coverage reports ... run with jacoco
jacocoTestReport{
additionalSourceDirs = files(sourceSets.main.allJava.srcDirs)
reports {
xml.enabled false
csv.enabled false
html.destination "${buildDir}/reports/jacoco/html"
}
executionData = files('build/jacoco/test.exec')
}
Gradleテストタスクに次を追加します。
finalizedBy jacocoTestReport
次に、次のコマンドを発行しました。
gradle run test jacoco