Покрытие кода для испытаний огурцов с использованием Jacoco - PullRequest
0 голосов
/ 24 октября 2019

Я пытаюсь интегрировать Jacoco, чтобы получить покрытие кода для моих тестов Cucumber с использованием Maven. Ниже приведена структура моего проекта:

  • -src-main-java-Pages

  • -src-main-java-Helper

  • -src-test-java-resources-features

  • -src-test-java-Steps

Ниже приведена конфигурация Jacoco в моем файле POM.xml

          <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.8.2</version>
            <configuration>
                <destFile>${basedir}/target/coverage-reports/jacoco.exec</destFile>
                <dataFile>${basedir}/target/coverage-reports/jacoco.exec</dataFile>
                <outputDirectory>${basedir}/target/coverage-reports/jacoco</outputDirectory>
            </configuration>
            <executions>
                <execution>
                    <id>prepare-agent</id>
                    <goals>
                        <goal>prepare-agent</goal>
                    </goals>
                </execution>
                <execution>
                    <id>report</id>
                    <goals>
                        <goal>report</goal>
                    </goals>
                </execution>
                <execution>
                    <id>check</id>
                    <goals>
                        <goal>check</goal>
                    </goals>
                    <configuration>
                        <rules>
                            <rule>
                                <element>PACKAGE</element>
                                <includes>
                                    <include>**/*Steps.*</include>
                                </includes>
                            </rule>
                            <rule>
                                <element>PACKAGE</element>
                                <excludes>
                                    <exclude>**/*Pages.*</exclude>
                                    <exclude>**/*Page.*</exclude>
                                </excludes>
                            </rule>
                        </rules>
                    </configuration>
                </execution>
            </executions>
        </plugin>

. Я могу создать отчет о покрытии кода. Однако в отчете он охватывает все классы в пакетах -src-main. Согласно различным исследованиям Google и сообщениям SO, я пытался изменить свое POM, чтобы исключить страницы и включить только шаги в свой отчет о покрытии кода. Но почему-то он продолжает отображать все файлы в основном пакете.

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

1 Ответ

0 голосов
/ 25 октября 2019

См. https://maven.apache.org/guides/mini/guide-configuring-plugins.html - вы указываете исключения в конфигурации

<execution>
    <id>check</id>
    <goals>
        <goal>check</goal>

, но не в конфигурации

<execution>
    <id>report</id>
    <goals>
        <goal>report</goal>

, так что это влияет на check, ноне включен report.

...