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
- Trình bổ trợ Android cho Gradle 9.5.0-alpha05 trở lên
- Bật mức độ sử dụng mã
Để 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).