maven-surefire-plugin, jacoco-maven-plugin не показывают покрытия

Сомаиа Кумбера

Я использую maven-surefire-plugin версии 2.17 с maven.

Я использую jacoco-maven-plugin для анализа своих тестов junit:

Мой плагин jacoco, установленный в моем pom.xml, выглядит так:

    <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.7.6.201602180812</version>
            <executions>
                <execution>
                    <id>agent-for-ut</id>
                    <goals>
                        <goal>prepare-agent</goal>
                    </goals>
                    <configuration>
                        <destFile>${sonar.jacoco.reportPath}</destFile>
                        <append>true</append>
                    </configuration>
                </execution>
                <execution>
                    <id>post-unit-test</id>
                    <goals>
                        <goal>report</goal>
                    </goals>
                    <configuration>
                        <dataFile>${sonar.jacoco.reportPath}</dataFile>
                        <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
                    </configuration>
                </execution>
            </executions>
        </plugin>

У меня есть класс в src / main / java / something / excel, который выглядит так:

package something.excel;

public class VDHTCStyle
{
    public int doSomething() {
        int i=0;
        return i+7;
    }
}

Мой тестовый класс в src / test / java / something / excel выглядит так:

package something.excel;

import org.junit.Before;
import org.junit.Test;

import static org.junit.Assert.assertEquals;

public class VDHTCStyleStyleTest
{
    private VDHTCStyleStyle vDHTCStyleStyle;

    @Before
    public void setUp()
    {
        vDHTCStyleStyle = new VDHTCStyleStyle();
    }

    @Test
    public void shouldDoSomething() {
        int something = vDHTCStyleStyle.doSomething();
        assertEquals(something, 7);
    }

}

Когда я запускаю это с

mvn clean install

В логах вижу:

[INFO] --- maven-surefire-plugin:2.17:test (default-test) @ xxxxx ---
[INFO] Surefire report directory: /var/lib/jenkins/workspace/xxxx/modules/xx/target/surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running something.excel.VDHTCStyleTest
|classnames | 2.2.3 | A simple utility for conditionally joining classNames together|
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.062 sec - in something.excel.VDHTCStyleTest 

Теперь, если я посмотрю на сгенерированный файл отчета jacoco-ut, я вижу что-то вроде этого:

GROUP,PACKAGE,CLASS,INSTRUCTION_MISSED,INSTRUCTION_COVERED,BRANCH_MISSED,BRANCH_COVERED,LINE_MISSED,LINE_COVERED,COMPLEXITY_MISSED,COMPLEXITY_COVERED,METHOD_MISSED,METHOD_COVERED
Module: xxx,something.excel,VDHTCStyleStyle,9,0,0,0,3,0,2,0,2,0

Насколько я понимаю, он считает, что ни одна из строк, инструкций, веток или методов не была покрыта.

Почему? Помощь :)

Сомаиа Кумбера

Проблема, похоже, заключается в том, что maven-surefire-plugin ведет себя непредсказуемо, если указано дважды в многомодульном проекте.

У моего родительского pom он был в разделе сборки, а у дочернего модуля pom он также был в разделе сборки. Из-за этого казалось, что тесты выполняются, но покрытие в дочернем модуле всегда было 0.

Исправление заключалось в том, чтобы удалить maven-surefire-plugin из дочернего модуля pom и оставить его только в разделе сборки родительского pom.

Проблема совлвед.

Эта статья взята из Интернета, укажите источник при перепечатке.

Если есть какие-либо нарушения, пожалуйста, свяжитесь с[email protected] Удалить.

Отредактировано в
0

я говорю два предложения

0обзор
Войти в системуУчаствуйте в комментариях

Статьи по теме

Измените выходной каталог maven surefire-plugin

Как определить медленные юнит-тесты при использовании maven-surefire-plugin в параллельном режиме?

Почему maven-surefire-plugin пропускает тесты с сообщением журнала «потому что он уже был запущен для этой конфигурации»?

maven-surefire-plugin запускает один метод, но не работает в классе

Как включить интеграционные тесты через maven-surefire-plugin, используя путь

Как заставить maven-surefire-plugin повторно использовать созданный поток для выполнения всех тестов во всех модулях Maven

jacoco-maven-plugin, не исключая тестовые классы

Какое значение по умолчанию для maven-surefire-plugin forkedProcessTimeoutInSeconds?

maven-surefire-report-plugin не собирает свою конфигурацию

maven-surefire-report-plugin не собирает свою конфигурацию

Запуск теста на селен с плагином maven-surefire или maven-failsafe-plugin?

maven-surefire-plugin игнорирует порядок плагинов в pom.xml

Как разрешить выполнение аннотации, отличной от @Test, через maven-surefire-plugin. Я хочу, чтобы были выбраны @BeforeClass и @AfterSuite

Нужна ли цель prepare-agent в jacoco-maven-plugin?

How to specify output format for jacoco plugin for maven?

Запустите набор TestNG из maven, получив ошибку: maven-surefire-plugin: ошибка теста: testSuiteXmlFiles0 имеет нулевое значение

Выполнение теста по умолчанию для цели org.apache.maven.plugins: maven-surefire-plugin: 2.17: тест не пройден: в разветвленном процессе произошла ошибка

Spring Boot не может запустить maven-surefire-plugin ClassNotFoundException org.apache.maven.surefire.booter.ForkedBooter

'build.plugins.plugin.version' для org.apache.maven.plugins: maven-surefire-plugin отсутствует

maven-surefire-plugin dummy: dummy.jar: 1.0 отсутствует

maven-surefire-plugin не работает в SpringBoot 2.2.2.RELEASE и выше

Maven surefire plugin DOES NOT run single test, out of many

Как исключить прямую зависимость с Maven Plugin

maven-plugin-plugin: цель дескриптора не выполняется на и файла

Как запустить jacoco-maven-plugin с параметром -Xbootclasspath / p: my.jar?

Странные диапазоны версий maven в версиях-maven-plugin

Не удалось передать артефакт org.apache.maven.plugins: maven-surefire-plugin: pom: 2.7.1 из / в центральный (http://repo1.maven.org/maven2)

Не удалось передать org.apache.maven.plugins: maven-surefire-plugin: pom: 2.22.2 с https://repo.maven.apache.org/maven2

Why is maven-surefire-plugin compulsory when using JUnit 5 in a Maven project?

TOP список

  1. 1

    Распределение Рэлея Curve_fit на Python

  2. 2

    How to click an array of links in puppeteer?

  3. 3

    В типе Observable <unknown> отсутствуют следующие свойства из типа Promise <any>.

  4. 4

    Как добавить Swagger в веб-API с поддержкой OData, работающий на ASP.NET Core 3.1

  5. 5

    Нарисуйте диаграмму с помощью highchart.js

  6. 6

    无法通过Vue在传单中加载pixiOverlay

  7. 7

    Отчеты Fabric Debug Craslytic: регистрация, отсутствует идентификатор сборки, применить плагин: io.fabric

  8. 8

    Статус HTTP 403 - ожидаемый токен CSRF не найден

  9. 9

    TypeError: store.getState não é uma função. (Em 'store.getState ()', 'store.getState' é indefinido, como posso resolver esse problema?

  10. 10

    ContentDialog.showAsync в универсальном оконном приложении Win 10

  11. 11

    В UICollectionView порядок меняется автоматически

  12. 12

    Merging legends in plotly subplot

  13. 13

    Elasticsearch - Нечеткий поиск не дает предложения

  14. 14

    Bogue étrange datetime.utcnow()

  15. 15

    Объединение таблиц в листе Google - полное соединение

  16. 16

    Single legend for Plotly subplot for line plots created from two data frames in R

  17. 17

    как я могу удалить vue cli 2?

  18. 18

    ViewPager2 мигает / перезагружается при смахивании

  19. 19

    Компилятор не знает о предоставленных методах Trait

  20. 20

    JDBI - В чем разница между @define и @bind в JDBI?

  21. 21

    проблемы с AVG и LIMIT SQL

популярныйтег

файл