Xem báo cáo mức độ sử dụng mã

Trình bổ trợ Android cho Gradle có thể tạo các báo cáo về mức độ sử dụng mã để theo dõi tỷ lệ phần trăm mã mà các kiểm thử của bạn bao phủ. Trang này mô tả cách bật tính năng báo cáo mức độ phù hợp và tạo báo cáo.

Bạn có thể tạo báo cáo về mức độ phù hợp cho từng loại kiểm thử (đơn vị và công cụ) cho từng biến thể. Bạn cũng có thể tạo báo cáo mức độ phù hợp hợp nhất trên nhiều loại kiểm thử, mô-đun và biến thể bản dựng.

Bật tính năng đo lường mức độ sử dụng mã

Bạn phải bật tính năng đo lường mức độ sử dụng mã bằng cách đặt enableAndroidTestCoverageenableUnitTestCoverage thành true trong tệp bản dựng cấp mô-đun cho từng biến thể mà bạn muốn nhận báo cáo về mức độ sử dụng:

Kotlin

android {
    // ...
    buildTypes {
        debug {
            // Enable coverage for unit tests
            enableUnitTestCoverage = true
            // Enable coverage for instrumentation tests
            enableAndroidTestCoverage = true
        }
    }
}

Groovy

android {
    // ...
    buildTypes {
        debug {
            // Enable coverage for unit tests
            enableUnitTestCoverage true
            // Enable coverage for instrumentation tests
            enableAndroidTestCoverage true
        }
    }
}

Thay đổi phiên bản Jacoco (không bắt buộc)

AGP tự động áp dụng Jacoco khi bạn bật tính năng đo lường mức độ phù hợp trên các mô-đun. Tuy nhiên, nếu cần dùng một phiên bản cụ thể của Jacoco, bạn có thể chỉ định phiên bản đó trong tệp bản dựng cấp mô-đun:

Kotlin

android {
    jacoco {
        version = "JACOCO_VERSION"
    }
}

Groovy

android {
    jacoco {
        version = 'JACOCO_VERSION'
    }
}

Tạo báo cáo mức độ phù hợp theo biến thể

Để chỉ tạo báo cáo về mức độ phù hợp cho kiểm thử đơn vị hoặc chỉ tạo báo cáo về mức độ phù hợp cho kiểm thử đo lường cho một biến thể cụ thể, hãy chạy các tác vụ tương ứng.

Loại bài kiểm tra Lệnh Báo cáo vị trí
Kiểm thử đơn vị ./gradlew :module-name:createVariantNameUnitTestCoverageReport path-to-your-project/module-name/build/reports/coverage/test/variant/index.html
Kiểm thử đo lường ./gradlew :module-name:createVariantNameAndroidTestCoverageReport path-to-your-project/module-name/build/reports/coverage/androidTest/variant/connected/index.html

Tạo báo cáo hợp nhất về mức độ sử dụng mã

Bạn có thể tạo báo cáo thống nhất về mức độ sử dụng mã bằng cách sử dụng các tác vụ createCoverageReportcreateAggregatedCoverageReport Gradle. Bạn có thể sử dụng các tác vụ này để tạo một báo cáo HTML duy nhất, hợp nhất dữ liệu về mức độ phù hợp từ nhiều loại kiểm thử (đơn vị và khả năng đo lường), mô-đun và biến thể bản dựng. Điều này cung cấp thông tin tổng quan toàn diện về mức độ sử dụng mã của dự án trong một trang tổng quan duy nhất.

Điều kiện tiên quyết

  • Trình bổ trợ Android cho Gradle 9.2.0-alpha07 trở lên

Để tạo báo cáo hợp nhất, hãy chạy một trong các tác vụ sau từ dòng lệnh:

Phạm vi bảo hiểm Lệnh Mô tả Báo cáo vị trí
Current module ./gradlew :module-name:createCoverageReport Tạo một báo cáo mức độ phù hợp hợp nhất cho mô-đun hiện tại, hợp nhất dữ liệu từ tất cả các loại kiểm thử. path-to-your-project/module-name/build/reports/code_coverage_html_report/
Mô-đun và phần phụ thuộc hiện tại ./gradlew :module-name:createAggregatedCoverageReport Tạo một báo cáo mức độ phù hợp hợp nhất cho mô-đun hiện tại và tất cả các phần phụ thuộc của mô-đun đó. Bạn có thể thực hiện tác vụ này cho các mô-đun ứng dụng và mô-đun thư viện đã bật tính năng xuất bản. path-to-your-project/module-name/build/reports/aggregated_code_coverage_html_report/

Trang đích của báo cáo HTML được tạo cho thấy thông tin tóm tắt cấp cao về tất cả các mô-đun. Bạn có thể xem chi tiết từ mô-đun đến gói, từ gói đến lớp và từ lớp đến tệp nguồn. Nhấp vào một tệp bất kỳ để xem mã có tính năng làm nổi bật cho mức độ bao phủ dòng và nhánh:

  • Màu xanh lục: Các dòng được bao phủ.
  • Đỏ: Các dòng không được đề cập.
  • Màu vàng: Độ bao phủ một phần (bỏ sót một số hướng dẫn hoặc nhánh).