代碼涵蓋報告 - AWS CodeBuild

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

代碼涵蓋報告

CodeBuild 允許您為測試生成代碼覆蓋率報告。提供了以下代碼覆蓋率報告:

線路涵蓋

線路覆蓋度量測試覆蓋的語句數量。語句是一個單一的指令,不包括註釋或條件。

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

分支涵蓋範圍

分支覆蓋度量您的測試覆蓋了控制結構的每個可能分支的數量,例如if或者case陳述式。

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

支援下列代碼涵蓋報告檔案格式:

  • XML

  • SimpleCov JSON

  • XML

  • XML

¹ CodeBuild 接受由辛普利科夫,而不是簡易科-json

創建代碼覆蓋率報告

若要建理代碼涵蓋報告,請執行在其 buildspec 檔案中至少有一個代碼涵蓋報告羣組的建置專案。CodeBuild 將解釋代碼覆蓋率結果,併為運行提供代碼覆蓋率報告。使用相同 buildspec 檔案的各個後續建置都會產生新的測試報告。

建立測試報告

  1. 建立建置專案。如需相關資訊,請參閱 在 AWS CodeBuild 中建立建置專案

  2. 請使用新的測試報告資訊設定您專案的 buildspec 檔案:

    1. 新增reports:區段並指定報告羣組的名稱。CodeBuild 會以專案名稱和您以project-name-report-group-name-in-buildspec。如果您已有要使用的報告群組,請指定其 ARN。如果您使用名稱,而非 ARN,則 CodeBuild 會建立新的報告羣組。如需詳細資訊,請參閱 Reports syntax in the buildspec file

    2. 在報告羣組下方,指定包含代碼涵蓋範圍結果的檔案位置。如果您使用多個報告羣組,請指定每個報告羣組的結果檔案位置。您的建置專案每次執行時都會建立新的代碼涵蓋報告。如需詳細資訊,請參閱 指定測試檔案

      這是一個例子,它為位於測試中的 JaCoCo XML 結果文件生成代碼覆蓋率報告results/jacoco-coverage-report.xml

      reports: jacoco-report: files: - 'test-results/jacoco-coverage-report.xml' file-format: 'JACOCOXML'
    3. 在 中commands的 區段build或者post_build序列中,指定運行代碼覆蓋率分析的命令。如需詳細資訊,請參閱 指定測試命令

  3. 執行建置專案的建置。如需詳細資訊,請參閱 在 AWS CodeBuild 中執行建置

  4. 當建置完成時,請從專案頁面上的 Build history (建置歷史記錄) 選擇新的建置執行。選擇報告查看代碼覆蓋率報告。如需詳細資訊,請參閱檢視建置的測試報告