Как посчитать тестовое покрытие 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
Основы Java за 14 дней
  • 62 урока в онлайн-тренажере
  • 4 живых вебинара и масскодинг
  • Помощь наставника на весь период обучения

Есть что добавить? Зарегистрируйтесь

или войдите в аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Курсы по программированию в Хекслете

Backend-разработка

Разработка серверной части сайтов и веб-приложений

Frontend-разработка

Разработка внешнего интерфейса сайтов и веб-приложений и верстка

Создание сайтов

Разработка сайтов и веб-приложений на JS, Python, Java, PHP и Ruby on Rails

Тестирование

Ручное тестирование и автоматизированное тестирование на JS, Python, Java и PHP

Аналитика данных

Сбор, анализ и интерпретация данных на Python

Интенсивные курсы

Интенсивное обучение для продолжающих

DevOps

Автоматизация настройки локального окружения и серверов, развертывания и деплоя

Веб-разработка

Разработка, верстка и деплой сайтов и веб-приложений, трудоустройство для разработчиков

Математика для программистов

Обучение разделам математики, которые будут полезны при изучении программирования

JavaScript

Разработка сайтов и веб-приложений и автоматизированное тестирование на JS

Python

Веб-разработка, автоматическое тестирование и аналитика данных на Python

Java

Веб-разработка и автоматическое тестирование на Java

PHP

Веб-разработка и автоматическое тестирование на PHP

Ruby

Разработка сайтов и веб-приложений на Ruby on Rails

Go

Курсы по веб-разработке на языке Go

HTML

Современная верстка с помощью HTML и CSS

SQL

Проектирование базы данных, выполнение SQL-запросов и изучение реляционных СУБД

Git

Система управления версиями Git, регулярные выражения и основы командой строки