我们有一个 evosuite 生成的 unittest .java 文件。我们还有其他手工制作的unittest .java 文件。我们在服务器上执行构建,并执行所有单元测试(evosuite 和手工制作)。然后我们进入 Sonar 仪表板并专门查看覆盖范围。 sonar/jacoco 从手工制作的单元测试中报告了覆盖范围。然而,对于 evosuite 要测试的 .java 文件,该文件的覆盖率仍然为 0%,即使在 sonar/jacoco 仪表板的另一个面板上执行了 evosuite 16 测试,并且显示了它们花费的时间(以毫秒为单位)。
进行构建的服务器是为我们配置的,我们不管理它们。 Sonar/Jacoco 管理设置是由其他人完成的。
我不明白为什么我们手工制作的(有些使用 @RunWith(JMockit.class) 而有些不使用 RunWith 注释)显示覆盖率百分比,而 evosuite 却没有。
谢谢, 吉姆
最佳答案
是的,这个问题现在已经被报道过几次了...所以我现在刚刚添加了一些关于它的文档:-)位于:
http://www.evosuite.org/documentation/measuring-code-coverage/
您可以在那里阅读为何覆盖率为 0% 以及可能的解决方法。
关于java - sonar/jacoco 中报告的 evosuite _ESTest.java 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36607566/