具有Jacoco代码覆盖率的PowerMockito

时间:2017-07-31 05:42:43

标签: java powermock jacoco powermockito jacoco-maven-plugin

Powermockito与jacoco

的代码覆盖率

在我的项目中,我们使用powermockito,用于codecoverage jacoco api。我们使用@preparefortest({xyzimpl.class,abcd.class})注释。在代码覆盖率上,未涵盖xyzimpl.java代码覆盖率。是否有任何工作来获得上述情况的代码保护。已阅读其他链接说如果我们在@preparefortest注释中删除了要测试的类,则上面的注释将无法获得代码覆盖。

1 个答案:

答案 0 :(得分:2)

他们的documentation非常明确:它不起作用(除非你得到他们的"离线"仪器工作 - 我没有看到工作示例)。

由于其性质,PowerMock(ito)有很长的历史使用代码覆盖率。请记住:@PrepareForTest正在做的是:将您的产品字节代码替换为PowerMock 生成的内容。

从这个意义上说,你只有这些选择:

  • 如果你绝对需要模拟静态/新调用,那么你可以尝试使用JMockit(唯一允许模拟调用static / new的其他框架)
  • 学习如何编写可测试的代码 - 并避免需要这样的"特殊的"完全嘲弄框架。这甚至可以提高产品的质量。