يمكن للمكوّن الإضافي لنظام 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 { jacoco { version = "JACOCO_VERSION" } }
أنيق
android { jacoco { version = '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 createCoverageReport وcreateAggregatedCoverageReport. يمكنك استخدام هذه المهام لإنشاء تقرير HTML واحد يجمع بيانات التغطية من أنواع الاختبارات المختلفة (اختبارات الوحدة والاختبارات التي يتم تشغيلها على جهاز) والوحدات وصيغ الإصدار.
يوفّر ذلك عرضًا شاملاً لنسبة استخدام رموز الصفحة في مشروعك في لوحة بيانات واحدة.
المتطلبات الأساسية
- الإصدار 9.3.0-alpha09 أو إصدار أحدث من المكوّن الإضافي لنظام Gradle المتوافق مع Android
- تفعيل ميزة تغطية الرموز البرمجية
لإنشاء تقرير موحّد، شغِّل إحدى المهام التالية من سطر الأوامر:
| نطاق التغطية | الأمر | الوصف | موقع التقرير |
|---|---|---|---|
| الوحدة الحالية | ./gradlew :module-name:createCoverageReport |
ينشئ تقرير تغطية موحّدًا للوحدة الحالية، ويجمع البيانات من جميع أنواع الاختبارات. | path-to-your-project/module-name/build/reports/code_coverage_html_report/ |
| الوحدة الحالية والتبعيات | ./gradlew :module-name:createAggregatedCoverageReport |
ينشئ تقرير تغطية موحّدًا للوحدة الحالية وجميع تبعياتها. تتوفّر هذه المهمة لوحدات التطبيقات ووحدات المكتبات التي تم تفعيل ميزة النشر فيها. | path-to-your-project/module-name/build/reports/aggregated_code_coverage_html_report/ |
تعرِض الصفحة المقصودة لتقرير HTML الذي تم إنشاؤه ملخّصًا عالي المستوى لجميع الوحدات. يمكنك الانتقال من الوحدة إلى الحزمة، ومن الحزمة إلى الفئة، ومن الفئة إلى ملف المصدر. انقر على أي ملف للاطّلاع على الرموز البرمجية مع تمييز لتغطية الأسطر والفروع:
- أخضر: الأسطر التي تم تغطيتها.
- أحمر: الأسطر التي لم يتم تغطيتها.
- أصفر: تغطية جزئية (تمت تغطية بعض التعليمات أو الفروع).