Powermockito禁用声纳分支覆盖范围 我在测试课程中使用PowerMockito和@preparefortest注释。当我这样做时,Sonar说没有一个分支都被覆盖。但是,我的其他不使用PowerMockito的测试课程

问题描述 投票:0回答:3
那里有人遇到了同样的问题吗?

提前感谢
	
PowerMockito和Sonar代码覆盖范围计算是一个已知的问题,我对此进行了大量研究 - 截至今天,尚无解决方案。 我个人如何处理它 - 尝试避免使用PowerMockito-因此,请使用静态和最终的稀疏,这通常是一个很好的建议,无论如何都可以使用更多面向对象的代码。但是,如果您需要使用静态和或最终的情况,仍然会有一些情况。为此, 在这里比较我的答案: Cobertura-show-proper-coverage-coverage coverage-in-sonar-sonar-files-files-show-show-0-Coverage

mockito code-coverage sonarqube powermock
3个回答
9
投票

add cobertura插件到您的声纳服务器 使用build中的

Mavencobertura插件(我认为构建使用Maven)

1
投票
    在Cobertura和Sonar与Sonar Server报告所需的相关属性中。如图所示
  1. <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安装声纳:声纳
  2. 任何人都想知道这一点,这可能是由于:

    @PrepareForTest({ MyClass.class })
    当您这样卸下括号时:
  3. @PrepareForTest(MyClass.class)

    应该起作用
  4. 我在删除其中一个类别和所涵盖的括号时也有两个类似的问题。

0
投票
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.