مشاهده گزارش‌های پوشش کد

افزایه Android Gradle می‌تواند گزارش‌های پوشش کد ایجاد کند که درصد کدی را که آزمایش‌های شما پوشش می‌دهد ردیابی می‌کند. این صفحه نحوه فعال کردن گزارش پوشش و تولید گزارش را شرح می‌دهد.

می‌توانید گزارش‌های پوشش را برای هر نوع آزمایش (واحد و ابزار دقیق) برای هر گونه تولید کنید. همچنین می‌توانید گزارش‌های پوشش یکپارچه را در انواع مختلف آزمایش، ماژول‌ها، و تنوع‌های ساخت تولید کنید.

فعال کردن پوشش کد

پوشش کد باید با تنظیم enableAndroidTestCoverage و enableUnitTestCoverage روی true در فایل‌های ساخت سطح ماژول برای هر گونه‌ای که می‌خواهید گزارش‌های پوشش را برای آن دریافت کنید فعال شود:

کاتلین

android {
    // ...
    buildTypes {
        debug {
            // Enable coverage for unit tests
            enableUnitTestCoverage = true
            // Enable coverage for instrumentation tests
            enableAndroidTestCoverage = true
        }
    }
}

شیک

android {
    // ...
    buildTypes {
        debug {
            // Enable coverage for unit tests
            enableUnitTestCoverage true
            // Enable coverage for instrumentation tests
            enableAndroidTestCoverage true
        }
    }
}

تغییر نسخه Jacoco (اختیاری)

وقتی پوشش را در پیمانه‌هایتان فعال می‌کنید، AGP به‌طور خودکار Jacoco را اعمال می‌کند. بااین‌حال، اگر نیاز دارید از نسخه خاصی از Jacoco استفاده کنید، می‌توانید آن را در فایل ساخت سطح واحد خود مشخص کنید:

کاتلین

android {
    testCoverage {
        jacocoVersion = "JACOCO_VERSION"
    }
}

شیک

android {
    testCoverage {
        jacocoVersion = 'JACOCO_VERSION'
    }
}

تولید گزارش‌های پوشش مختص گونه‌ها

برای تولید گزارش‌های پوشش فقط برای آزمایش‌های واحد یا فقط آزمایش‌های ابزاردار برای یک گونه خاص، تکالیف مربوطه را اجرا کنید.

نوع آزمون فرمان گزارش مکان
آزمون‌های واحد ./gradlew :module-name:createVariantNameUnitTestCoverageReport path-to-your-project/module-name/build/reports/coverage/test/variant/index.html
آزمایش‌های ابزارگری ./gradlew :module-name:createVariantNameAndroidTestCoverageReport path-to-your-project/module-name/build/reports/coverage/androidTest/variant/connected/index.html

تولید گزارش‌های پوشش کد یکپارچه

بااستفاده از وظایف testAllSuites و testAllSuitesWithDependencies Gradle می‌توانید گزارش‌های یکپارچه پوشش کد تولید کنید. این تکالیف یک گزارش HTML واحد تولید می‌کنند که داده‌های پوشش را از انواع مختلف آزمایش (واحد و ابزار)، ماژول‌ها، و تنوع‌های ساخت ادغام می‌کند. این ویژگی نمای جامعی از پوشش کد پروژه‌تان را در یک داشبورد ارائه می‌دهد.

پیش‌نیازها

برای تولید گزارش یکپارچه، یکی از تکالیف زیر را از خط فرمان اجرا کنید:

حوزه پوشش فرمان شرح گزارش مکان
واحد کنونی ./gradlew :module-name:testAllSuites --continue همه مجموعه‌های آزمون را آزمایش می‌کند و گزارش پوشش یکپارچه‌ای برای واحد کنونی تولید می‌کند و داده‌های همه انواع آزمون را ادغام می‌کند. path-to-your-project/module-name/build/reports/testAllSuites/coverage-report/
واحد کنونی و وابستگی‌ها ./gradlew :module-name:testAllSuitesWithDependencies --continue همه مجموعه‌های آزمایشی را آزمایش می‌کند و گزارش پوشش یکپارچه‌ای برای واحد کنونی و همه وابستگی‌های آن تولید می‌کند. این تکلیف برای ماژول‌های برنامه و ماژول‌های کتابخانه با انتشار فعال دردسترس است. path-to-your-project/module-name/build/reports/testAllSuitesWithDependencies/coverage-report/

صفحه مقصد گزارش HTML تولیدشده خلاصه‌ای سطح بالا از همه پیمانه‌ها را نشان می‌دهد. می‌توانید از واحد به بسته، از بسته به کلاس، و از کلاس به فایل منبع بروید. روی هر فایلی کلیک کنید تا کد را با برجسته‌سازی برای پوشش خط و شاخه ببینید:

  • سبز: خطوط پوشش‌داده‌شده.
  • قرمز: خطوط پوشش‌داده‌نشده.
  • زرد: پوشش جزئی (برخی‌از دستورالعمل‌ها یا شاخه‌ها ازدست رفته است).