JaCoCo Selenium测试代码覆盖率并使用Ant导入Sonar

时间:2012-10-24 11:32:50

标签: ant selenium jenkins sonarqube jacoco

我正在通过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的哪个地方开始代理?我需要转储东西吗?

我非常感谢能得到的所有帮助,谢谢:)

1 个答案:

答案 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包含更多详细信息以及示例项目的链接。