我正在通过Ant运行Sonar任务,由Jenkins在RHEL环境中触发。我成功使用Cobertura进行Junit代码覆盖,使用Surefire进行报告。 Sonar可以很好地导入Surefire报告。
但是,现在我在Jenkins中使用Ant运行Selenium测试。我想向Sonar报告代码覆盖率和测试结果。显然我需要JaCoCo插件来分析代码覆盖率并报告测试。我认为,对于单元测试,Jenkins完成了这项工作,而Sonar只将报告导入到自己的存储库中。
我很困惑如何实际做到这一点。网页http://www.sonarsource.org/measure-coverage-by-integration-tests-with-sonar-updated/引用了JaCoCo页面http://www.eclemma.org/jacoco/trunk/doc/ant.html。我不确定要采取的步骤是什么。我需要覆盖目标吗?我应该只启动代理吗?我在Ant的哪个地方开始代理?我需要转储东西吗?
我非常感谢能得到的所有帮助,谢谢:)
答案 0 :(得分:3)
Sonar 3.3具有一项新功能,可用于组合单元测试和集成测试生成的代码覆盖率指标。这是通过使用两个属性来详细说明由jacoco生成的两个不同报告文件来完成的:
#Tells Sonar where the unit tests code coverage report is
sonar.jacoco.reportPath=reports/jacoco/jacoco-ut.exec
#Tells Sonar where the integration tests code coverage report is
sonar.jacoco.itReportPath=reports/jacoco/jacoco-it.exec
Sonar示例项目有一个ANT的集成测试示例:
不幸的是,它没有给出运行实际测试的示例,而只是展示了如何配置ANT构建来加载数据。
最后,Sonar documentation包含更多详细信息以及示例项目的链接。