在构建管道的多个阶段聚合SonarQube代码覆盖率结果

时间:2014-02-12 21:16:53

标签: jenkins sonarqube build-pipeline

让我们假设我在Jenkins中构建了一个(非常简单的)构建管道,分为两个部分:

  1. 编译和单元测试
  2. 集成测试
  3. 我希望从两组测试中获得代码覆盖率到SonarQube。这可能吗?似乎SonarQube假设每个更新都是作为单个事务的整个项目。

    起初我很高兴看到增量分析的增加,但似乎这是针对不同的用例:对仅更改的文件进行预提交检查。

    如果在SonarQube中无法做到这一点,我仅限于从单元测试中获得(至少在SonarQube中)代码覆盖,或者延迟更新SonarQube项目直到第2步之后 - 但我们的集成测试需要很长时间,这意味着SonarQube的结果会延迟。

    人们如何处理现实世界?

1 个答案:

答案 0 :(得分:0)

不幸的是,SonarQube分析必须一次完成,因此您需要等到集成测试完成并使用“reuseReport”模式来使用早期单元测试运行的结果。

报告Java的重用信息:http://docs.codehaus.org/display/SONAR/Code+Coverage+by+Unit+Tests+for+Java+Project#CodeCoveragebyUnitTestsforJavaProject-ReusingExistingReports

对于.net:http://docs.codehaus.org/display/SONAR/Unit+Tests,+Integration+Tests+and+Code+Coverage

相关问题