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