Как посчитать тестовое покрытие java

Аватар пользователя Иван Полежаев
Иван Полежаев
06 апреля 2023

Для подсчета тестового покрытия кода в Java можно использовать инструменты, такие как JaCoCo или Cobertura Эти инструменты работают как плагины для сборщиков проектов, таких как Maven или Gradle, и генерируют отчеты, показывающие, какой процент кода был покрыт тестами.

Вот пример использования JaCoCo с Maven:

  1. Добавьте плагин 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>
  1. Запустите команду mvn test для запуска тестов и генерации отчета о покрытии.

  2. Откройте отчет, находящийся в папке target/site/jacoco/index.html, чтобы просмотреть процент покрытия кода тестами.

Подробнее ознакомиться с инструментом JaCoCo можно по ссылке

0 0
Аватар пользователя Иван Полежаев
Иван Полежаев
07 апреля 2023

Для подсчета тестового покрытия в проектах на базе 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
0 0