0
我有一个项目使用jacoco版本0.7.1.201405082137和maven 3.0.5。在项目中,我有一些单元测试,还有一些使用arquillian创建的测试。使用jacoco和maven获取错误的覆盖率数据
为了区分单元测试和集成测试,我创建了两个junit类:一个叫做FastTest,另一个叫SlowTest。
在,我用它来运行所有测试Maven的配置文件我已经完成了这个插件:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.17</version>
<configuration>
<groups>SlowTest,FastTest</groups>
<systemPropertyVariables>
<arquillian.launch>wildfly_8_x</arquillian.launch>
</systemPropertyVariables>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${version.jacoco}</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
当我离开这两个类别中我只得到了覆盖与SlowTest注释的测试。但所有的测试运行。如果我只运行用FastTest注释的那些,我也会得到它们的正确覆盖率。
如何在运行两种测试时设置jacoco以获得正确的覆盖范围?
是的,中的类有完整的包。我尝试了故障安全插件,但没有什么区别。我的单元测试使用powermock,我相信这是问题,因为powermock必须更改类。 –
2015-02-10 09:34:12
@KellyGoedert事实上,它可能是。就我个人而言,我发现'PowerMock'总是会造成比它更值钱的麻烦。真。它的黑客,像改变一个类加载器可能是非常有问题的。这只是冰山的一个顶峰。 – 2015-02-10 09:42:24
我同意你的意见。可悲的是,对于我来说,我无法改变让我使用Powermock进行测试的类。 – 2015-02-10 09:45:27