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 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

Để 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ị).