本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
代码覆盖率报告
CodeBuild 允许您为测试生成代码覆盖率报告。提供了以下代码覆盖率报告:
- 线覆盖
-
线路覆盖率衡量测试覆盖的报表数量。声明是单个指令,不包括评论或条件。
line coverage = (total lines covered)/(total number of lines)
- 分支覆盖
-
分支覆盖率衡量您的测试覆盖控制结构的每个可能分支中有多少个分支,例如
if
要么case
网页。branch coverage = (total branches covered)/(total number of branches)
支持以下代码覆盖率报告文件格式:
-
JaCoCo XML
-
SimpleCov JSON¹
-
三叶草 XML
-
Cobertura XML
¹ CodeBuild 接受由simplecov
创建代码覆盖率报告
要创建代码覆盖率报告,您运行的构建项目应在 buildspec 文件中配置有至少一个代码覆盖率报告组。CodeBuild 将解释代码覆盖率结果,并为运行提供代码覆盖率报告。对于使用相同 buildspec 文件的每个后续构建,系统将生成一个新的测试报告。
创建测试报告
-
创建构建项目。有关信息,请参阅 在 Amazon CodeBuild 中创建构建项目。
-
使用测试报告信息配置项目的 buildspec 文件:
-
添加
reports:
部分并指定报告组的名称。CodeBuild 使用项目名称和您指定的格式的名称为您创建一个报告组。project-name
-report-group-name-in-buildspec
. 如果已存在要使用的报告组,请指定其 ARN。如果您使用名称,而不是 ARN,CodeBuild 会创建一个新的报告组。有关更多信息,请参阅Reports syntax in the buildspec file。 -
在报告组下,指定包含代码覆盖率结果的文件的位置。如果您使用多个报告组,请为每个报告组指定结果文件位置。每次运行构建项目时都会创建一个新的代码覆盖率报告。有关更多信息,请参阅指定测试文件。
这是一个为位于测试中的 JaCoCo XML 结果文件生成代码覆盖率报告的示例
results/jacoco-coverage-report.xml
.reports: jacoco-report: files: - 'test-results/jacoco-coverage-report.xml' file-format: 'JACOCOXML'
-
在
commands
的 部分build
要么post_build
序列中,指定运行代码覆盖率分析的命令。有关更多信息,请参阅 指定测试命令 。
-
-
运行构建项目中的构建。有关更多信息,请参阅在 Amazon CodeBuild 中运行构建。
-
构建完成后,从项目页面上的 Build history (构建历史记录) 中选择新的构建运行。选择报告以查看代码覆盖率报告。有关更多信息,请参阅查看构建的测试报告。