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

Trình bổ trợ Android cho Gradle có thể tạo báo cáo mức độ sử dụng mã để theo dõi tỷ lệ phần trăm mã mà các bài 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 độ bao phủ và tạo báo cáo.

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

Bật tính năng báo cáo mức độ sử dụng mã

Bạn phải bật tính năng mức độ sử dụng mã bằng cách đặt enableAndroidTestCoverageenableUnitTestCoverage thành true trong các 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 mức độ sử dụng mã:

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 báo cáo mức độ bao phủ trên các mô-đun. Tuy nhiên, nếu cần sử dụng một phiên bản Jacoco cụ thể, 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 độ bao phủ dành riêng cho biến thể

Để chỉ tạo báo cáo mức độ bao phủ cho các bài kiểm thử đơn vị hoặc chỉ tạo báo cáo mức độ bao phủ cho các bài 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 thử Lệnh Vị trí báo cáo
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 mức độ sử dụng mã hợp nhất

Bạn có thể tạo báo cáo mức độ sử dụng mã hợp nhất bằng cách sử dụng các tác vụ Gradle createCoverageReportcreateAggregatedCoverageReport. 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 mức độ bao phủ từ nhiều loại bài kiểm thử (đơn vị và đo lường), mô-đun và biến thể bản dựng. Báo cáo 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 cáo mức độ bao phủ Lệnh Mô tả Vị trí báo cáo
Mô-đun hiện tại ./gradlew :module-name:createCoverageReport Tạo báo cáo mức độ bao phủ 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 bài kiểm thử. path-to-your-project/module-name/build/reports/code_coverage_html_report/
Mô-đun hiện tại và các phần phụ thuộc ./gradlew :module-name:createAggregatedCoverageReport Tạo báo cáo mức độ bao phủ 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 đó. Tác vụ này có sẵn cho các mô-đun ứng dụng và mô-đun thư viện có bật tính năng phát hành. 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 sẽ hiển thị bản tóm tắt cấp cao về tất cả các mô-đun. Bạn có thể đi sâu 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 bất kỳ tệp nào để xem mã có đánh dấu mức độ bao phủ dòng và nhánh:

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