使用:JaCoCo 0.5.3、Maven2、Sonar 2.14、sonar-maven-plugin 1.8、SùartGWT 3.0
当前正在尝试:在我的 Selenium 单元测试的 Sonar 上获取代码覆盖率。
问题:虽然传感器正确启动,但代码覆盖率并未从 0% 开始变化,请分析正确生成的 jacoco.exec。
资源: https://gist.github.com/2888912 pom.xml
我花了大约两周的时间来尝试获得代码覆盖率。我将 Sonar 从 2.10 升级到 2.14,更改了每个 Sonar 属性,尝试了插件 jacoco(对于 maven),但我仍然没有得到任何结果。因此,如果有人遇到同样的问题并找到了解决方案,您能告诉我您是如何工作的吗?
我非常确定我的测试必须生成至少 0.5% 的代码覆盖率。我的 Selenium 测试实际上是在 SeleniumTestLoginEntry.java 中执行的,有什么影响吗?我必须将其命名为 TestLoginEntry.java 吗? (测试的类是LoginEntry.java) 我使用 Surefire 启动 JaCoCo 的 javaagent(参见标签),它实际上生成了 jacoco.exec。
请给我一些帮助,我完全迷失了,我只剩下一周的时间来完成它......:(
提前致谢。
最佳答案
我的设置与您略有不同,使用的是 Ant 和 Sonar 3.01,但是...有一个属性对我来说很有效,当我查看时,它似乎几乎完全没有记录。我注意到维基页面在过去几天进行了更新,这可能改变了文档的情况。
<property name="sonar.core.codeCoveragePlugin" value="jacoco" />
<property name="sonar.jacoco.reportPath" value="${test.log.dir}/jacoco.exec"/>
将 sonar.jacoco.reportPath
显式设置为文件,而不是目录,最终对我有用。
关于maven - Jacoco 和 Sonar 代码覆盖率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10933407/