首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EclEmma代码覆盖插件和PowerMockRunner

EclEmma代码覆盖插件和PowerMockRunner
EN

Stack Overflow用户
提问于 2014-11-20 15:12:27
回答 4查看 5.7K关注 0票数 5

我遇到了在Eclipse中使用EclEmma插件的问题。当我使用注释@RunWith传递(PowerMockRunner.class)作为参数时,它不会显示代码覆盖率。如果使用(MockitoJUnitRunner.class),一切都很好。等待你的建议?)

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-11-20 22:13:14

这是一个已知的问题与依克勒玛(JaCoCo)。基本上,这两个库都修改字节代码,但Mockito在运行时对其进行修改,从而生成不同的二进制.class文件。显然,JaCoCo通过一个hashMap跟踪它正在观察的类,hashMap的哈希代码是由类定义派生的,所以在Mockito修改类之后,哈希代码就会有所不同,这样JaCoco就不能在它的内部地图中找到类了。

更详细地讨论:

为什么EclEmma不使用@RunWith(PowerMockRunner.class)的测试覆盖代码

使用JUnit和Powermock的艾玛代码覆盖率

http://code.google.com/p/powermock/issues/detail?id=402

票数 5
EN

Stack Overflow用户

发布于 2016-02-04 05:00:19

根据此链接上一次更新,更新EclEmma插件(通过卸载和重新安装)以及最新的PowerMock和Mockito (3.7)解决了这个问题。

这个变更日志证实了这一点。

票数 2
EN

Stack Overflow用户

发布于 2017-08-29 13:58:41

Powermock适用于依莱玛1.5.3,但不适用于最新的EclIMA3.0.0!

日食-开普勒服务第2版JUnit4 PowerMockito2 - 1.7.0.引理1.5.3

下面给出的步骤是有效的,在运行junit测试时,我可以看到非零覆盖率。

  1. http://www.eclemma.org/download.html下载引理-1.5.3.zip
  2. 将内容解压缩到本地文件夹(引理-1.5.3)
  3. 将此路径添加到菜单栏:窗口->首选项->安装/更新->可用软件站点
  4. 帮助->在“with with”中安装新软件->,选择新条目(在prev中添加)。步骤)
  5. 一个接一个地取消选中复选框,然后将显示“”插件选项。引理覆盖选项将显示在选择窗口中。
  6. 继续到下一个并完成..。

好好享受!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27042951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档