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 về 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 phạm vi sử dụng và tạo báo cáo.

Bạn có thể tạo báo cáo phạm vi sử dụng 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 phạm vi sử dụng 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 mức độ sử dụng mã

Bạn phải bật mức độ sử dụng mã bằng cách đặt enableAndroidTestCoverage và enableUnitTestCoverage 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 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 sẽ tự động áp dụng Jacoco khi bạn bật phạm vi sử dụng trên các mô-đun. Tuy nhiên, nếu cần sử 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 {
    testCoverage {
        jacocoVersion = "JACOCO_VERSION"
    }
}

Groovy

android {
    testCoverage {
        jacocoVersion = 'JACOCO_VERSION'
    }
}

Tạo báo cáo phạm vi sử dụng dành riêng cho biến thể

Để chỉ tạo báo cáo phạm vi sử dụng cho các bài kiểm thử đơn vị hoặc chỉ cho các bài kiểm thử đo lường đối với 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ác tác vụ testAllSuites và testAllSuitesWithDependencies của Gradle. Các tác vụ này sẽ tạo một báo cáo HTML duy nhất hợp nhất dữ liệu phạm vi sử dụng 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 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

Để 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 sử dụng Lệnh Mô tả Vị trí báo cáo
Mô-đun hiện tại ./gradlew :module-name:testAllSuites --continue Kiểm thử tất cả bộ kiểm thử và tạo báo cáo phạm vi sử dụng 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/testAllSuites/coverage-report/
Mô-đun hiện tại và các phần phụ thuộc ./gradlew :module-name:testAllSuitesWithDependencies --continue Kiểm thử tất cả bộ kiểm thử và tạo báo cáo phạm vi sử dụng 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 dùng được 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/testAllSuitesWithDependencies/coverage-report/

Trang đích của báo cáo HTML được tạo sẽ cho thấy 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 cho phạm vi sử dụng 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: Phạm vi sử dụng một phần (bỏ lỡ một số hướng dẫn hoặc nhánh).