我在测试中使用过powermock。作为powermock工具,我没有得到适当的jacoco覆盖。
答案 0 :(得分:1)
PowerMock documentation中提到了“Jacoco offline”;并且有一个指向 maven example的链接:
最糟糕的情况是,您必须研究该解决方案的工作原理,然后将其用于Gradle。
答案 1 :(得分:0)
我无法帮助您解决问题,但是我设法使用powermock-module-javaagent
使用maven与Jacoco生成了PowerMock报道。也许您可以将此pom转换为gradle文件。
只需确保将Powermock代理放在 jacoco代理之后:
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<useSystemClassLoader>true</useSystemClassLoader>
<argLine>${jacocoArgLine} -javaagent:${settings.localRepository}/org/powermock/powermock-module-javaagent/${powermock.version}/powermock-module-javaagent-${powermock.version}.jar -noverify</argLine>
...
如果要查看示例,请查看以下项目:https://github.com/jfcorugedo/sonar-scanner
在这里您可以看到声纳将静态方法和PowerMock模拟的new
语句考虑在内:
如果要模拟new
语句,请确保使用PowerMockRule
而不是PowerMockRunner
。