代码覆盖范围报告 - AWS CodeBuild
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

代码覆盖范围报告

CodeBuild 允许您为测试生成代码覆盖范围报告。提供了以下代码覆盖报告:

线条覆盖

Line coverage 测量您的测试涵盖的语句数。语句是单个指令,不包括注释或条件。

line coverage = (total lines covered)/(total number of lines)

分支覆盖

分支覆盖用于衡量测试涵盖控制结构的每个可能分支(如 ifcase 语句)的分支数。

branch coverage = (total branches covered)/(total number of branches)

支持以下代码覆盖报告文件格式:

  • JaCoCo XML

  • SimpleCovJSON¹

  • XML -

  • Cobertura XML

¹ CodeBuild 接受由 simplecov 而非 simplecov-json 生成的 JSON 代码覆盖率报告。

创建代码覆盖范围报告

要创建代码覆盖报告,请运行在其 buildspec 文件中配置至少一个代码覆盖报告组的构建项目。AWS CodeBuild 将解释代码覆盖结果并提供运行代码覆盖报告。对于使用相同 buildspec 文件的每个后续构建,系统将生成一个新的测试报告。

创建测试报告

  1. 创建构建项目。有关信息,请参阅在 AWS CodeBuild 中创建构建项目

  2. 使用测试报告信息配置项目的 buildspec 文件:

    1. 添加 reports: 部分并指定报告组的名称。AWS CodeBuild 使用项目名称和您指定的采用 project-name-report-group-name-in-buildspec 格式的名称为您创建一个报告组。 如果您已有要使用的报告组,请指定其 ARN。如果您使用名称而不是 ARN,AWS CodeBuild 将创建新的报告组。有关更多信息,请参阅Reports syntax in the buildspec file

    2. 在报告组下,指定包含代码覆盖结果的文件的位置。如果您使用多个报告组,请为每个报告组指定结果文件位置。每次运行构建项目时,都会创建一个新的代码覆盖报告。有关更多信息,请参阅指定测试文件

      该示例为位于 test-JaCoCo 中的 results/jacoco-coverage-report.xml XML 结果文件生成代码覆盖范围报告。

      reports: jacoco-report: files: - 'test-results/jacoco-coverage-report.xml' file-format: 'JACOCOXML'
    3. commandsbuild 序列的 post_build 部分中,指定运行代码覆盖范围分析的命令。有关更多信息,请参阅 指定测试命令

  3. 运行构建项目中的构建。有关更多信息,请参阅在 AWS CodeBuild 中运行构建

  4. 构建完成后,从项目页面上的 Build history (构建历史记录) 中选择新的构建运行。选择 Reports (报告) 以查看代码覆盖报告。有关更多信息,请参阅查看构建的测试报告