Как заставить maven cobertura и верные плагины работать вместе? - PullRequest
8 голосов
/ 17 февраля 2012

Я вставил плагины surefire и cobertura в свой pom.xml, но не могу настроить их для нормальной работы. Или cobertura не запускается, или тесты выполняются дважды.

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

Если я настрою таким образом, cobertura не запустится:

<plugin>
<groupId>org.codehaus.mojo</groupId>
    <artifactId>cobertura-maven-plugin</artifactId>
<version>2.5.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
    <version>2.12</version>
</plugin>

Если я настрою таким образом, тесты выполняются дважды:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>cobertura-maven-plugin</artifactId>
    <version>2.5.1</version>
    <executions>
        <execution>
            <phase>test</phase>
            <goals>
                <goal>cobertura</goal>
            </goals>
        </execution>
    </executions>
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.12</version>
</plugin>

Ответы [ 2 ]

0 голосов
/ 11 февраля 2019

Вот как я заставил его работать на тестах с включенной cobertura и безошибочным выключением. Добавьте это к вашему pom или введите параметры mvn для -DuseSystemClassLoader = false

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.19.1</version>
            <configuration>
                <useSystemClassLoader>false</useSystemClassLoader>
                <testFailureIgnore>true</testFailureIgnore>
            </configuration>
        </plugin>
0 голосов
/ 01 мая 2014

Тесты пройдут дважды - так оно и есть. См. Комментарий Самуила бегущие джуниты и кобертура с maven

...