STS(Eclipse)のGradleプロジェクトでjacoco設定する方法

STS(Eclipse)のGradleプロジェクトでjacoco設定する方法

eclemmaでカバレッジしていたのですが、最近jacocoが流行っているみたいなのでbuild.gradleで設定する方法を纏めます。

jacoco自体は「EclEmma」チームが作成しているコードカバレッジツールです。

gradle標準プラグインでjacocoは用意されているのでapplyします。

plugins {
  id 'org.springframework.boot' version '2.3.0.M2'
  id 'io.spring.dependency-management' version '1.0.9.RELEASE'
  id 'java'
  id 'jacoco'
}

dependenciesに依存関係追加します。

testImplementation 'org.jacoco:org.jacoco.agent:0.8.5'

これでGradleタスクのbuildを実行します。

build配下に以下ファイルが作成されます。

生成用途
jacoco\test.execJenkinsで使用

html形式のレポート出力

build時にhtml形式のレポートを出力できるように設定します。

まずbuild.gradleに以下を記述します。

jacoco {
  toolVersion = "0.7.1.201405082137"
  reportsDir = file("$buildDir/customJacocoReportDir")
}

これで、GradleタスクにjacocoTestReportが表示されるようになります。

STS(Eclipse)のGradleプロジェクトでjacoco設定する方法

次に以下を記述します。

jacocoTestReport {
  reports {
    xml.enabled false
    csv.enabled false
    html.enabled = true
  }
}

これで、customJacocoReportDir\test\html配下にhtml形式のレポートが出力されているはずです。

STS(Eclipse)のGradleプロジェクトでjacoco設定する方法

Chapter 34. The JaCoCo Plugin

Eclipse4.4にカバレッジツールEclEmmaプラグインを追加する

Java11+JUnit5+jacoco出力する

jacocoの0.8.5ではJava13までサポートしていますのでJava11+JUnit5でjacoco出力が可能です。

build.gradleを以下のように記述します。

test {
  useJUnitPlatform{
    includeEngines 'junit-jupiter'
  }
}

jacoco {
  toolVersion = '0.8.5'
  reportsDir = file("$buildDir/customJacocoReportDir")
}
jacocoTestReport {
  reports {
    xml.enabled false
    csv.enabled false
    html.enabled = true
  }
}

文字化け

レポートの日本語部分が文字化けする場合があります。

gradleプロジェクト直下に「gradle.properties」ファイルを新規作成します。これはデフォルトでは作成されません。

このファイルに以下記述します。

org.gradle.jvmargs=-Dfile.encoding=UTF-8

これで文字化けがなくなりました。

レポート出力されない

build\customJacocoReportDir配下に作成されるレポートが作成されない場合は一旦customJacocoReportDirディレクトリを削除して、:jacocoTestReportタスクを実行します。

コメント

タイトルとURLをコピーしました