具有Jacoco代码覆盖率的PowerMockito

问题描述 投票:1回答:1

Code Coverage with Powermockito with jacoco

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

java powermock jacoco powermockito jacoco-maven-plugin
1个回答
2
投票

他们的documentation非常清楚:它不起作用(除非你得到他们的“离线”仪器工作 - 我没有看到工作的例子)。

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

从这个意义上讲,您只有以下选项:

  • 如果你绝对需要模拟静态/新调用,那么你可以尝试使用JMockit(唯一允许模拟调用static / new的其他框架)
  • 学习如何编写可测试的代码 - 并完全避免使用这种“特殊”的模拟框架。这甚至可以提高产品质量。
© www.soinside.com 2019 - 2024. All rights reserved.