我正在使用 maven 站点插件和 cobertura 来运行单元测试并生成报告。一切正常,但唯一的问题是所有单元测试都运行了两次。
我试图设置 forkMode
如 never
为 maven-site-plugin
但即便如此,我也面临同样的问题。
任何帮助,将不胜感激。
我的命令:mvn cobertura:cobertura -Dcobertura.report.format=html
我的pom:
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<configuration>
<aggregate>true</aggregate>
</configuration>
<executions>
<execution>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<aggregate>false</aggregate>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<configuration>
<formats>
<format>html</format>
<format>xml</format>
</formats>
<instrumentation>
<excludes>
<exclude>**/test/**/*.class</exclude>
</excludes>
</instrumentation>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.0.1</version>
<configuration>
<targetJdk>1.6</targetJdk>
<linkXref>true</linkXref>
<sourceEncoding>ISO-8859-1</sourceEncoding>
<format>xml</format>
<aggregate>true</aggregate>
<verbose>true</verbose>
<rulesets>
<ruleset>favorites.xml</ruleset>
</rulesets>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9.1</version>
<configuration>
<aggregate>true</aggregate>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>2.5.2</version>
<configuration>
<xmlOutput>true</xmlOutput>
</configuration>
</plugin>
</plugins>
</reporting>
最佳答案
我相信这是一种正常的行为。
您正在使用两个 独特 基于同一件事的报告:
但是两个报告都不知道对方,这就是为什么它运行两次。
[更新] 阅读本文后 mailing list ,它说您最好在配置文件中禁用测试(使用 skipTests )。
至于你的命令行,它会给出:
mvn cobertura:cobertura -DskipTests -Dcobertura.report.format=html
但是请注意,我无法在我的项目中使用 cobertura(在第 106 行第 12 列遇到““最终”“最终”)。所以我不知道它是否有效。
关于maven - 使用 cobertura 和 maven 站点插件时运行两次的测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25415304/