Как посчитать тестовое покрытие java
Для подсчета тестового покрытия кода в Java
можно использовать инструменты, такие как JaCoCo
или Cobertura
Эти инструменты работают как плагины для сборщиков проектов, таких как Maven
или Gradle
, и генерируют отчеты, показывающие, какой процент кода был покрыт тестами.
Вот пример использования JaCoCo
с Maven
:
- Добавьте плагин
JaCoCo
в секцию<build><plugins>
файлаpom.xml
:
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.7</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Запустите команду
mvn test
для запуска тестов и генерации отчета о покрытии.Откройте отчет, находящийся в папке
target/site/jacoco/index.html
, чтобы просмотреть процент покрытия кода тестами.
Подробнее ознакомиться с инструментом JaCoCo
можно по ссылке
Для подсчета тестового покрытия в проектах на базе Gradle
:
- Добавьте плагин
JaCoCo
в файлbuild.gradle
в секциюplugins
:
plugins {
id 'java'
id 'jacoco'
}
- В секции jacoco добавьте опции для плагина:
jacoco {
toolVersion = "0.8.7"
reportsDir = file("$buildDir/reports/jacoco")
}
$buildDir
- это переменная, содержащая путь к каталогу, в котором Gradle
размещает все собранные файлы и результаты компиляции. По умолчанию этот путь установлен в build
в корневом каталоге проекта.
- Добавьте зависимость на плагин
JaCoCo
в секциюdependencies
:
dependencies {
...
testImplementation 'org.jacoco:org.jacoco.core:0.8.7'
}
- Запустите тесты вашего проекта:
./gradlew test