SonarQube - 统一测试新代码的代码覆盖率不起作用
SonarQube - unity tests code coverage on new code not working
我正在尝试使用新代码的单元测试代码覆盖率进行 Sonar 分析。当我使用 cobertura 进行代码覆盖率分析并进行 Sonar 分析时,代码的整体代码覆盖率显示正确,但是新代码的代码覆盖率未显示。
设置:
- scm = Git
- sonar.scm.disabled = 假
我关注了
- 检查了早期版本的源代码
- 将 Sonar 项目版本设置为 1.0
- 创建了 Cobertura 报告(xml 文件)
- 执行分析并检查分析是否已上传,单元测试的整体代码覆盖率是否正确显示
- 查看最新版本的源代码
- 将 Sonar 项目版本设置为 2.0
- 执行分析并检查分析是否已上传,单元测试的整体代码覆盖率是否正确显示
由于我对已更改的代码实施了一些单元测试,单元测试对代码的总体代码覆盖率有所提高。但是,小部件中的 On New Code 项保持隐藏状态,并且不显示新代码的代码覆盖率。
你们有没有任何提示可以为此带来更多启发?
谢谢大家
您观察到此行为是因为新代码的覆盖率 目前根据之前分析的日期(而不是之前分析的代码的提交日期)识别新代码, 请参阅 SONAR-7085 .
为了使您的方案生效,您必须使用 -Dsonar.projectDate
强制指定过去的日期来分析旧代码。关于此的好文章就在这里:Sonar Time Machine : replaying the past .
我正在尝试使用新代码的单元测试代码覆盖率进行 Sonar 分析。当我使用 cobertura 进行代码覆盖率分析并进行 Sonar 分析时,代码的整体代码覆盖率显示正确,但是新代码的代码覆盖率未显示。
设置:
- scm = Git
- sonar.scm.disabled = 假
我关注了
- 检查了早期版本的源代码
- 将 Sonar 项目版本设置为 1.0
- 创建了 Cobertura 报告(xml 文件)
- 执行分析并检查分析是否已上传,单元测试的整体代码覆盖率是否正确显示
- 查看最新版本的源代码
- 将 Sonar 项目版本设置为 2.0
- 执行分析并检查分析是否已上传,单元测试的整体代码覆盖率是否正确显示
由于我对已更改的代码实施了一些单元测试,单元测试对代码的总体代码覆盖率有所提高。但是,小部件中的 On New Code 项保持隐藏状态,并且不显示新代码的代码覆盖率。
你们有没有任何提示可以为此带来更多启发?
谢谢大家
您观察到此行为是因为新代码的覆盖率 目前根据之前分析的日期(而不是之前分析的代码的提交日期)识别新代码, 请参阅 SONAR-7085 .
为了使您的方案生效,您必须使用 -Dsonar.projectDate
强制指定过去的日期来分析旧代码。关于此的好文章就在这里:Sonar Time Machine : replaying the past .