8

我将 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>
4

2 回答 2

0

测试将运行两次 - 就是这样。请参阅 Samuel 的评论running junits and cobertura with maven

于 2014-05-01T00:26:17.360 回答
0

这就是我如何让它在 cobertura 开启和确定关闭的情况下工作。将此添加到您的 pom 中,或为 -DuseSystemClassLoader=false 输入 mvn 选项

        <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>
于 2019-02-11T17:58:10.787 回答