Можно ли запускать плагин JaCoCo maven только во время жизненного цикла сайта?

Джонатан С. Фишер

Рассмотрим следующую конфигурацию сборки:

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
      <argLine>${surefireArgLine}</argLine>
      <parallel>all</parallel>
      <threadCount>2</threadCount>
    </configuration>
  </plugin>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-failsafe-plugin</artifactId>
    <configuration>
      <argLine>${failsafeArgLine}</argLine>
      <parallel>classes</parallel>
      <threadCount>2</threadCount>
    </configuration>
  </plugin>
  <plugin>
    <groupId>org.jacoco</groupId>
    <artifactId>jacoco-maven-plugin</artifactId>
    <executions>
      <execution>
        <id>pre-unit-test</id>
        <goals>
          <goal>prepare-agent</goal>
        </goals>
        <configuration>
          <destFile>${project.build.directory}/jacoco-ut.exec</destFile>
          <propertyName>surefireArgLine</propertyName>
        </configuration>
      </execution>
      <execution>
        <id>post-unit-test</id>
        <phase>test</phase>
        <goals>
          <goal>report</goal>
        </goals>
        <configuration>
          <dataFile>${project.build.directory}/jacoco-ut.exec</dataFile>
        </configuration>
      </execution>
      <execution>
        <id>pre-integration-test</id>
        <phase>pre-integration-test</phase>
        <goals>
          <goal>prepare-agent</goal>
        </goals>
        <configuration>
          <destFile>${project.build.directory}/jacoco-it.exec</destFile>
          <propertyName>failsafeArgLine</propertyName>
        </configuration>
      </execution>
      <execution>
        <id>post-integration-test</id>
        <phase>post-integration-test</phase>
        <goals>
          <goal>report</goal>
        </goals>
        <configuration>
          <dataFile>${project.build.directory}/jacoco-it.exec</dataFile>
        </configuration>
      </execution>
    </executions>
  </plugin>

И конфигурация отчетов:

  <plugin>
    <groupId>org.jacoco</groupId>
    <artifactId>jacoco-maven-plugin</artifactId>
    <reportSets>
      <reportSet>
        <id>JaCoCo-UnitTest</id>
        <reports>
          <report>report</report>
        </reports>
        <configuration>
          <dataFile>${project.build.directory}/jacoco-ut.exec</dataFile>
        </configuration>
      </reportSet>
      <reportSet>
        <id>JaCoCo-IntegrationTest</id>
        <reports>
          <report>report</report>
        </reports>
        <configuration>
          <dataFile>${project.build.directory}/jacoco-it.exec</dataFile>
        </configuration>
      </reportSet>
    </reportSets>
  </plugin>

Отличная часть - это mvn clean siteпотрясающая работа, я получаю свои отчеты. Тем не менее, это означает , что теперь агент JaCoCo начинает во время нормального жизненного цикла, то есть: mvn clean install verify.

Есть ли способ отключить агент JaCoCo во время нормального жизненного цикла, но не цикла сайта?

Флориан Лопес

Просто пропустите выполнение JaCoCo, используя свойство:

<plugin>
    <groupId>org.jacoco</groupId>
    <artifactId>jacoco-maven-plugin</artifactId>
    <version>${jacoco-maven-plugin.version}</version>
    <executions>
        <execution>
            <id>pre-unit-test</id>
            <goals>
                <goal>prepare-agent</goal>
            </goals>
            <configuration>
                <!-- Skip this phase if jacoco.skip property is set to true -->
                <skip>${jacoco.skip}</skip>
                <destFile>${project.build.directory}/jacoco-ut.exec</destFile>
                <propertyName>surefireArgLine</propertyName>
            </configuration>
        </execution>

        <execution>
            <id>post-unit-test</id>
            <phase>test</phase>
            <goals>
                <goal>report</goal>
            </goals>
            <configuration>
                <!-- Skip this phase if jacoco.skip property is set to true -->
                <skip>${jacoco.skip}</skip>
                <dataFile>${project.build.directory}/jacoco-ut.exec</dataFile>
            </configuration>
        </execution>
    </executions>
</plugin>

Вы также можете отключить выполнение JaCoCo, когда тесты пропускаются:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>${maven-surefire-plugin.version}</version>
    <configuration>
        <argLine>${surefireArgLine}</argLine>
        <!-- Skip tests if skip.unit.tests property is set to true -->
        <skipTests>${skip.unit.tests}</skipTests>
    </configuration>
</plugin>

<plugin>
    <groupId>org.jacoco</groupId>
    <artifactId>jacoco-maven-plugin</artifactId>
    <version>${jacoco-maven-plugin.version}</version>
    <executions>
        <execution>
            <id>pre-unit-test</id>
            <goals>
                <goal>prepare-agent</goal>
            </goals>
            <configuration>
                <!-- Skip this phase if unit tests are skipped -->
                <skip>${skip.unit.tests}</skip>
                <destFile>${project.build.directory}/jacoco-ut.exec</destFile>
                <propertyName>surefireArgLine</propertyName>
            </configuration>
        </execution>

        <execution>
            <id>post-unit-test</id>
            <phase>test</phase>
            <goals>
                <goal>report</goal>
            </goals>
            <configuration>
                <!-- Skip this phase if unit tests are skipped -->
                <skip>${skip.unit.tests}</skip>
                <dataFile>${project.build.directory}/jacoco-ut.exec</dataFile>
            </configuration>
        </execution>
    </executions>
</plugin>

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

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

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

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

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

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

Maven / Jacoco - как получить объединенный отчет после успешных тестов и слияния файлов данных jacoco?

Конфигурация Maven Jacoco для многомодульных проектов

Покрытие кода в сборке maven - Пропуск выполнения JaCoCo из-за отсутствия каталога классов

Охват многомодульного проекта Jacoco Maven

maven jacoco: не генерируется отчет о покрытии кода

Проблемы с настройкой JaCoCo в Maven

JaCoCo с Maven - отсутствует файл данных исполнения

Конфигурация Maven Jacoco - исключить классы / пакеты из отчета, не работающего

Maven Jacoco - многомодульный проект. Какая самая простая (централизованная?) Настройка?

Создание отчета о покрытии кода JaCoCo с помощью Maven

Как проверить минимальное покрытие кода для многомодульного проекта maven с помощью jacoco?

Как указать формат вывода для плагина jacoco для maven?

Как настроить многомодульный Maven + Sonar + JaCoCo для выдачи объединенного отчета о покрытии?

Как интегрировать автономные исполняемые файлы JaCoCo из многопроектной сборки Maven в SonarQube

Запуск jacoco проверки цели с Maven 3.5

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

Как я могу исключить файлы покрытия кода SonarQube, используя плагин JaCoCo maven

Автономные инструменты Jacoco Maven - Tomcat

Maven Jacoco - объедините все результаты тестов в 1 обзор

Невозможно использовать аргументы jacoco JVM и надежные аргументы JVM вместе в maven

Как я могу интегрировать отчеты Jacoco с SonarQube без использования maven?

Как я могу интегрировать отчеты Jacoco с SonarQube без использования maven?

Как настроить Jacoco с помощью SonarQube и Maven в Jenkins

Создание покрытия кода с помощью JaCoCo и плагина spring-boot-maven

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

Плагин Jacoco maven забивает консоль с помощью Exceptions-java.lang.IllegalStateException: класс уже инструментирован

Автономные инструменты SonarQube Jacoco показывают 0% покрытие в проекте Maven Multi Module Project

How to specify output format for jacoco plugin for maven?

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

TOP список

  1. 1

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

  2. 2

    Définition de la valeur par défaut dans le dictionnaire Python si la clé est manquante

  3. 3

    Невозможно отобразить данные модели загрузки Spring в Thymeleaf

  4. 4

    Merging legends in plotly subplot

  5. 5

    Spring Boot Upload Multipart 413 Request Entity Too Large

  6. 6

    Ошибка. Невозможно использовать член экземпляра xxx в инициализаторе свойства.

  7. 7

    Перебирайте несколько столбцов в фрейме данных Panda и находите уникальные значения подсчета

  8. 8

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

  9. 9

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

  10. 10

    Ошибка отладчика кода Visual Studio: «Не удалось найти задачу« gcc build active file »

  11. 11

    np.fft.ifft2 делает изображение полностью черным

  12. 12

    Использование виджетов времени / даты Django в настраиваемой форме

  13. 13

    Ошибки компоновщика в GoogleMobileVision при использовании Firebase ML Kit на iOS без кокаподов

  14. 14

    Вызов выполнения .bat в cmd из Java ничего не делает

  15. 15

    Переопределить некоторые стили класса material-ui, но сохранить стили по умолчанию

  16. 16

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

  17. 17

    Как я могу нарисовать заполненный прямоугольник в JFreeChart?

  18. 18

    Сводная таблица из запроса по месяцам в TeraData

  19. 19

    Обновление строк и столбцов с помощью openpyxl из python

  20. 20

    Чтение данных по строкам в Python с использованием openpyxl

  21. 21

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

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

файл