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 gồm. 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 mức độ phù hợp cho từng loại kiểm thử (đơn vị và đo lường) cho mỗi 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 các loại kiểm thử, mô-đun và biến thể bản dựng khác nhau.
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 mỗi 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 phạm vi áp dụng 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 { testCoverage { jacocoVersion = "JACOCO_VERSION" } }
Groovy
android { testCoverage { jacocoVersion = 'JACOCO_VERSION' } }
Tạo báo cáo mức độ phù hợp theo biến thể cụ thể
Để chỉ tạo báo cáo mức độ phù hợp cho kiểm thử đơn vị hoặc chỉ 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 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 testAllSuites và testAllSuitesWithDependencies. Các tác vụ này sẽ tạo ra một báo cáo HTML duy nhất, hợp nhất dữ liệu mức độ phù hợp từ nhiều loạ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.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 bảo hiểm | Lệnh | Mô tả | Báo cáo vị trí |
|---|---|---|---|
| Phụ lục 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 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/testAllSuites/coverage-report/ |
| Mô-đun và phần phụ thuộc hiện tại | ./gradlew :module-name:testAllSuitesWithDependencies --continue |
Kiểm thử tất cả bộ kiểm thử và tạo báo cáo mức độ phù hợp hợp nhất cho mô-đun hiện tại và tất 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 đã bật tính năng xuất bản. | path-to-your-project/module-name/build/reports/testAllSuitesWithDependencies/coverage-report/ |
Trang đích của báo cáo HTML được tạo cho thấy thông tin tóm tắt tổng quan 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 tệp bất kỳ để xem mã có đánh dấu mức độ bao phủ của dòng và nhánh:
- Màu xanh lục: Các dòng được sử dụng.
- Màu đỏ: Các dòng chưa được kiểm thử.
- Màu vàng: Phạm vi bao phủ một phần (bỏ lỡ một số lệnh hoặc nhánh).
Sử dụng mức độ sử dụng mã trên thiết bị cho kiểm thử đo lường
Theo mặc định, AGP đo lường mức độ phù hợp của các kiểm thử đo lường bằng cách đo lường các lớp của ứng dụng bằng JaCoCo khi tạo ứng dụng. Kể từ AGP 9.6.0-alpha01, bạn có thể sử dụng khả năng đo lường trên thiết bị. Tính năng này sẽ đo lường các lớp của ứng dụng trên thiết bị kiểm thử trong khi kiểm thử chạy. Để biết thêm thông tin, hãy xem bài viết Xem báo cáo mức độ sử dụng mã (bằng tác nhân trên thiết bị).