2017-05-09 29 views
0

我正在尝试获取jenkins上的sonarqube仪表板上的代码覆盖率报告。代码覆盖率报告即将出台,但只显示4.6%的覆盖率。在调查中,我发现使用PowerMocks编写的测试类正在跳过。使用Jacoco对使用Powermock编写的测试类进行单元测试覆盖

在进一步的调查中,我发现“JaCoCo在动态修改/创建的类中不能很好地发挥作用(这是powermock的工作方式)。这是一个我们目前无法做到的已知限制”。

是否有任何解决此问题的方法,以便我可以为使用PowerMocks编写的测试类获得正确的代码覆盖范围。

+0

您好,欢迎StackOverflow上。您发布的问题不属于此处讨论的问题的范围。请参阅[常见问题](http://stackoverflow.com/faq),了解您可以在此处询问哪些类型的问题。问候。 –

回答

1

简单的回答:不,没有。

朗的答案 - 归结为以下选项:

  • 有看这个维基page由PowerMock球队 - 也许,也许“离线仪器仪表”的作品送给你。
  • 希望相应bug得到(我不会抱我上呼吸)
  • 摆脱你依赖于PowerMock(ITO)固定在某一点 - 通过重构和改善你的生产代码
  • [I 认为很久以前我评估过各种覆盖工具;有一个商业宣称甚至可以与PowerMock一起工作。但我不记得任何细节。所以我基本上是说:有可能是微不足道的机会,另外,独有覆盖工具的工作原理与PowerMock]
+0

JaCoCo可以选择使用脱机仪器 - 请参阅https://github.com/powermock/powermock/wiki/Code-coverage-with-JaCoCo,但是您的权利即使EclEmma基于JaCoCo,今天没有办法在EclEmma中使用离线工具。 – Godin

+0

我将您的链接添加到了我的答案;感谢您的输入! – GhostCat

+0

jenkins上也可以使用脱机工具获得jacoco的代码覆盖率吗? – Manas