Maven PIT тест и расхождение покрытия линии Jacoco - PullRequest
0 голосов
/ 14 октября 2018

У меня есть проект Java, над которым я работаю, используя Apache Maven.Я довольно новичок в Maven.Мне нужно немного разъяснений, и я не смог найти ответы за последние несколько часов поиска.

У меня есть два вопроса: Вопрос 1) Когда я ввожу команду mvn clean install, чтобы построить свой проект, он проходит через свои шаги и делает свое дело.Сборка завершается неудачно, и это говорит о том, что покрытие линии составляет всего 79% (минимум - 85%).НО, когда я захожу в свою целевую папку и проверяю пит-отчеты, она показывает 9 классов, 100% покрытие линий и 96% покрытие мутаций.Что вызвало бы это огромное расхождение?В моем файле pom.xml я исключаю несколько классов как в тестировании ямы, так и в разделе jacoco .. показано ниже (имена классов изменены):

<build>
    <plugins>
        <plugin>
            <groupId>org.pitest</groupId>
            <artifactId>pitest-maven</artifactId>
            <version>1.4.2</version>
                            <configuration>
                <excludedClasses>
                    <excludedClass>path.to.my.class.MyClass10</excludedClass>
                    <excludedClass>path.to.my.class.MyClass11</excludedClass>
                </excludedClasses>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <configuration>
            <excludes>
            <exclude>**/*MyClass10.*</exclude>
            <exclude>**/*MyClass11.*</exclude>
            </excludes>

            </configuration>
            <executions>
                <execution>
                    <id>prepare-agent</id>
                    <goals>
                        <goal>prepare-agent</goal>
                    </goals>

                    <configuration>

                        <includes>
                            <include>**/*MyClass1.*</include>
                            <include>**/*MyClass2.*</include>
                            <include>**/*MyClass3.*</include>
                            <include>**/*MyClass4.*</include>
                            <include>**/*MyClass4.*</include>
                            <include>**/*MyClass6.*</include>
                            <include>**/*MyClass7.*</include>
                            <include>**/*MyClass8.*</include>
                            <include>**/*MyClass9.*</include>
                        </includes>
                    </configuration>
                </execution>
                <execution>
                    <id>default-instrument</id>
                    <goals>
                        <goal>instrument</goal>
                    </goals>
                </execution>
                <execution>
                    <id>default-restore-instrumented-classes</id>
                    <goals>
                        <goal>restore-instrumented-classes</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <plugin>

Просматривая журналы в консоли, я убедился, чтоПодготовительный агент Jacoco правильно определил мои включения и исключения, но все еще имеет большое расхождение.

Вопрос 2) Когда я печатаю mvn clean install, сборка завершается неудачно .. но когда я печатаю mvn clean package shade:shade, проект строится успешно.Вторая команда имеет менее строгие проверки или что-то в этом роде?

...