提前感谢
PowerMockito和Sonar代码覆盖范围计算是一个已知的问题,我对此进行了大量研究 - 截至今天,尚无解决方案。 我个人如何处理它 - 尝试避免使用PowerMockito-因此,请使用静态和最终的稀疏,这通常是一个很好的建议,无论如何都可以使用更多面向对象的代码。但是,如果您需要使用静态和或最终的情况,仍然会有一些情况。为此, 在这里比较我的答案: Cobertura-show-proper-coverage-coverage coverage-in-sonar-sonar-files-files-show-show-0-Coverage
<sonar.java.coveragePlugin>cobertura</sonar.java.coveragePlugin>
<sonar.host.url>http://localhost:9500</sonar.host.url>
<sonar.sources>${project.build.sourceDirectory}</sonar.sources>
<sonar.junit.reportsPath>${project.build.directory}/surefire-reports</sonar.junit.reportsPath>
<sonar.cobertura.reportPath>${project.build.directory}/site/cobertura/coverage.xml</sonar.cobertura.reportPath>
Sonar的run to
即,MVN安装声纳:声纳
@PrepareForTest({ MyClass.class })
当您这样卸下括号时:@PrepareForTest(MyClass.class)
应该起作用