junit - 使用 JUnit 和 Powermock 的 Emma 代码覆盖率

标签 junit powermock emma

我将 JUnit 与 Powermockito 模拟结合使用。 我必须使用 maven 或 ant 在 CLI 环境中工作。

emma version:      ema-2.0.5312
powermock version: powermock-mockito-1.5.1-full
junit version:     junit-4.9

当我通过以下命令运行 junit 时,发现一切正常:

java org.junit.runner.JUnitCore some.package.ClassTest

但是,当我使用emma检查代码覆盖率时:

java emmarun -cp $CLASSPATH -report txt org.junit.runner.JUnitCore some.package.ClassTest

我收到以下错误:

1) initializationError(some.pakage.ClassTest)
   java.lang.ClassCastException: org.powermock.modules.junit4.PowerMockRunner cannot be cast to org.junit.runner.Runner

其他不使用 powermock 的测试类工作正常。 有人对此有什么建议吗?提前致谢。

最佳答案

使用 powermock 时,无法使用 Emma 找出覆盖率

See this discussion on developer's side

关于junit - 使用 JUnit 和 Powermock 的 Emma 代码覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17957496/

相关文章:

java - 如何使用构建器模拟内部变量

java - 我可以合并来自单元和集成测试目标的 Emma 覆盖率数据吗?

testing - JUnit TestCase 功能实际上是如何工作的?

unit-testing - Junit5模拟静态方法

unit-testing - maven project junit test all fail 因为无法编译源代码

java - powermock可以用来测试静态方法吗

android - 抛出未捕获的异常时未生成 Emma 代码覆盖率

java - 如何在 eclipse 中将 emma 覆盖率导出到 HTML?

java - 在 JUnit/JPA/Hibernate/Struts 和 Spring 集成测试中保持 session 打开 - 无 session 或 session 关闭 - LazyInitialization 异常

java - Mockito Test 不调用 verify() 方法