PowerMock ECLEmma 覆盖率问题
我们正在将EasyMock和PowerMock与JUnit一起使用。使用的覆盖工具是ECLEmma。使用EasyMock,它以绿色(如覆盖)正确显示覆盖范围。但是,对于使用 PowerMock 进行单元测试的代码,覆盖率显示为红色(未覆盖)。在网络上阅读过类似的问题。但是,只是想检查是否有解决方案。
谢谢
文卡特什
我们正在将EasyMock和PowerMock与JUnit一起使用。使用的覆盖工具是ECLEmma。使用EasyMock,它以绿色(如覆盖)正确显示覆盖范围。但是,对于使用 PowerMock 进行单元测试的代码,覆盖率显示为红色(未覆盖)。在网络上阅读过类似的问题。但是,只是想检查是否有解决方案。
谢谢
文卡特什
是的,有一个解决方案:
首先,您必须添加此 maven 依赖项:
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4-rule-agent</artifactId>
<version>1.6.4</version>
<scope>test</scope>
</dependency>
然后,不要使用此注释@RunWith(PowerMockRunner.class),只需在 Test 类中添加一个@Rule,如下所示:
public class Test {
@Rule
public PowerMockRule rule = new PowerMockRule();
您可以在此博客中找到更多信息 使EclEmma测试覆盖率与PowerMock一起使用