我将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>
答案 0 :(得分:0)
测试将运行两次 - 它就是这样。请参阅Samuel的评论running junits and cobertura with maven
答案 1 :(得分:0)
这就是我如何在启用cobertura并关闭surefire的情况下进行测试的方法。 将此添加到您的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>