3

我正在通过 Ant 运行声纳任务,由 Jenkins 在 RHEL 环境中触发。我成功地使用 Cobertura 进行 Junit 代码覆盖和 Surefire 进行报告。声纳可以很好地导入 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/蚂蚁.html。我不确定要执行哪些步骤。我需要覆盖目标吗?我应该只启动代理吗?我在 Ant 的哪个位置启动代理?我需要倾倒东西吗?

我真的很感谢我能得到的所有帮助,谢谢:)

4

1 回答 1

4

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 文档提供了更多详细信息以及示例项目的链接。

于 2012-10-24T21:33:56.873 回答