我遇到了在Eclipse中使用EclEmma插件的问题。
当我使用注释@RunWith
传递(PowerMockRunner.class)
作为参数时,它没有显示代码覆盖率。如果使用(MockitoJUnitRunner.class)
,一切都很好。
等待您的建议吗? :)
最佳答案
这是Eclemma(JaCoCo)的一个已知问题。基本上,两个库都修改字节码,但是Mockito在运行时对其进行修改,这会生成不同的二进制.class文件。 JaCoCo显然使用通过hashMap跟踪正在监视的类,该hashMap的哈希码由类定义派生,因此在Mockito修改该类后,哈希码将有所不同,因此JaCoco不再可以在其内部Maps中找到该类。
详细讨论:
Why EclEmma doesn't coverage code with tests with @RunWith(PowerMockRunner.class)
Emma code coverage with JUnit and Powermock
http://code.google.com/p/powermock/issues/detail?id=402
关于eclipse - EclEmma代码覆盖插件和PowerMockRunner,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27042951/