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 enableAndroidTestCoverage và enableUnitTestCoverage 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 createCoverageReport và createAggregatedCoverageReport. 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).