

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 建立程式碼涵蓋範圍報告
<a name="code-coverage-report"></a>

CodeBuild 可讓您為測試產生程式碼涵蓋範圍報告。提供下列程式碼涵蓋範圍報告：

線路涵蓋範圍  
明細涵蓋範圍會測量您的測試涵蓋多少陳述式。陳述式是單一指示，不包含註解或條件。  
`line coverage = (total lines covered)/(total number of lines)`

分支涵蓋範圍  
分支涵蓋範圍會測量您的測試在控制結構的每個可能分支中涵蓋多少分支，例如 `if`或 `case`陳述式。  
`branch coverage = (total branches covered)/(total number of branches)`

支援下列程式碼涵蓋範圍報告檔案格式：
+ JaCoCo XML
+ SimpleCov JSON1
+ Clover XML
+ Cobertura XML
+ LCOV INFO

1 CodeBuild 接受 [simplecov](https://github.com/simplecov-ruby/simplecov) 產生的 JSON 程式碼涵蓋範圍報告，而不是 [simplecov-json](https://github.com/vicentllongo/simplecov-json)。

## 建立程式碼涵蓋範圍報告
<a name="code-coverage-report-create"></a>

若要建立程式碼涵蓋範圍報告，請執行建置專案，該專案在其 buildspec 檔案中至少設定一個程式碼涵蓋範圍報告群組。CodeBuild 會解譯程式碼涵蓋範圍結果，並提供執行的程式碼涵蓋範圍報告。使用相同 buildspec 檔案的各個後續建置都會產生新的測試報告。

**建立測試報告**

1. 建立建置專案。如需相關資訊，請參閱[在 中建立建置專案 AWS CodeBuild](create-project.md)。

1. 使用測試報告資訊設定專案的 buildspec 檔案：

   1. 新增`reports:`區段，並指定報告群組的名稱。CodeBuild 會使用專案名稱和您以 `project-name`- 格式指定的名稱，為您建立報告群組`report-group-name-in-buildspec`。如果您已有要使用的報告群組，請指定其 ARN。如果您使用名稱而非 ARN，CodeBuild 會建立新的報告群組。如需詳細資訊，請參閱[Reports syntax in the buildspec file](build-spec-ref.md#reports-buildspec-file)。

   1. 在報告群組下，指定包含程式碼涵蓋範圍結果的檔案位置。如果您使用多個報告群組，請為每個報告群組指定結果檔案位置。每次建置專案執行時，都會建立新的程式碼涵蓋範圍報告。如需詳細資訊，請參閱[指定測試檔案](report-group-test-cases.md)。

      這是為位於 test- 中的 JaCoCo XML 結果檔案產生程式碼涵蓋範圍報告的範例`results/jacoco-coverage-report.xml`。

      ```
      reports:
        jacoco-report:
          files:
            - 'test-results/jacoco-coverage-report.xml'
          file-format: 'JACOCOXML'
      ```

   1. 在 `build`或 `post_build`序列的 `commands`區段中，指定執行程式碼涵蓋範圍分析的命令。如需詳細資訊，請參閱[指定測試命令](report-group-test-case-commands.md)。

1. 執行建置專案的建置。如需詳細資訊，請參閱[手動執行 AWS CodeBuild 組建](run-build.md)。

1. 當建置完成時，請從專案頁面上的 **Build history (建置歷史記錄)** 選擇新的建置執行。選擇**報告**以檢視程式碼涵蓋範圍報告。如需詳細資訊，請參閱[檢視建置的測試報告](test-view-project-reports.md)。