يمكن للمكوّن الإضافي لنظام Gradle المتوافق مع Android إنشاء تقارير عن نسبة استخدام رموز الصفحة التي تتتبّع النسبة المئوية لرموزك البرمجية التي تغطّيها اختباراتك. توضّح هذه الصفحة كيفية تفعيل إعداد التقارير عن التغطية وإنشاء التقارير.
يمكنك إنشاء تقارير عن التغطية لكل نوع من أنواع الاختبارات (اختبارات الوحدة والاختبارات التي يتم إجراؤها على جهاز) لكل إصدار. يمكنك أيضًا إنشاء تقارير موحّدة عن التغطية على مستوى أنواع الاختبارات والوحدات وتنويعات التصميم المختلفة.
تفعيل نسبة استخدام رموز الصفحة
يجب تفعيل نسبة استخدام رموز الصفحة من خلال ضبط enableAndroidTestCoverage وenableUnitTestCoverage على true في ملفات الإصدار على مستوى الوحدة لكل خيار المنتج تريد الحصول على تقارير التغطية له:
Kotlin
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 (اختياري)
يطبّق المكوّن الإضافي لنظام Gradle المتوافق مع Android Jacoco تلقائيًا عند تفعيل التغطية على وحداتك. ومع ذلك، إذا كنت بحاجة إلى استخدام إصدار معيّن من Jacoco، يمكنك تحديده في ملف التصميم على مستوى الوحدة:
Kotlin
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 |
إنشاء تقارير موحّدة عن نسبة استخدام رموز الصفحة
يمكنك إنشاء تقارير موحّدة عن نسبة استخدام رموز الصفحة باستخدام مهام Gradle testAllSuites
و testAllSuitesWithDependencies. ستنشئ هذه المهام تقرير HTML واحدًا يجمع بيانات التغطية من أنواع الاختبارات المختلفة (اختبارات الوحدة والاختبارات التي يتم إجراؤها على جهاز) والوحدات وتنويعات التصميم. يوفّر ذلك عرضًا شاملاً لنسبة استخدام رموز الصفحة لمشروعك في لوحة بيانات واحدة.
المتطلبات الأساسية
- الإصدار 9.5.0-alpha05 أو إصدار أحدث من المكوّن الإضافي لنظام Gradle المتوافق مع Android
- تفعيل نسبة استخدام رموز الصفحة
لإنشاء تقرير موحّد، شغِّل إحدى المهام التالية من سطر الأوامر:
| نطاق التغطية | الأمر | الوصف | موقع التقرير |
|---|---|---|---|
| الوحدة الحالية | ./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 الذي تم إنشاؤه ملخّصًا عالي المستوى لجميع الوحدات. يمكنك الانتقال من الوحدة إلى الحزمة، ومن الحزمة إلى الفئة، ومن الفئة إلى ملف المصدر. انقر على أي ملف للاطّلاع على الرمز البرمجي مع تمييز لتغطية الأسطر والفروع:
- أخضر: الأسطر التي تم تغطيتها
- أحمر: الأسطر التي لم يتم تغطيتها
- أصفر: تغطية جزئية (بعض التعليمات أو الفروع غير متوفّرة)