Различное покрытие кода от Jacoco и Intellij

Я пытаюсь интегрировать Jacoco в свой проект. У меня простой класс

package in.ashwanik.project;

import java.util.Objects;

public class ArithmeticOperations {

    public int add(Integer a, Integer b) {
        Objects.requireNonNull(a);
        Objects.requireNonNull(b);
        return a + b;
    }
}

И соответствующие тестовые примеры

package in.ashwanik.project;

import org.junit.Test;

public class ArithmeticOperationsTest {

    @Test(expected = NullPointerException.class)
    public void testAddA() {
        ArithmeticOperations entity = new ArithmeticOperations();
        entity.add(null, 1);
    }

    @Test(expected = NullPointerException.class)
    public void testAddB() {
        ArithmeticOperations entity = new ArithmeticOperations();
        entity.add(1, null);
    }
}

Я намеренно пропустил тестовый пример, который передает ненулевые параметры.

Команда для запуска тестов Jacoco.

./gradlew clean build test jacocoTestReport

Когда я запускаю Jacoco в этом проекте, покрытие кода составляет всего 40%.

Различное покрытие кода от Jacoco и Intellij

Однако, когда я запускаю покрытие кода IntelliJ, я получаю 75%

Различное покрытие кода от Jacoco и Intellij

Выполнение тестовых случаев Различное покрытие кода от Jacoco и Intellij

Я не уверен, почему это несоответствие?

Как я могу получить одинаковое покрытие от обоих инструментов?

похоже, что Жакоко проводит только первое испытание

Fran Montero 22.08.2018 08:50

@FranMontero Обновите вопрос. Я думаю, что Жакоко проводит все тесты

Ashwani K 22.08.2018 08:53
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
3
2
805
0

Другие вопросы по теме