يمكن لمكوّن Android Gradle الإضافي إنشاء تقارير حول نسبة استخدام رموز الصفحة لتتبُّع النسبة المئوية للرموز التي تغطّيها الاختبارات. توضّح هذه الصفحة كيفية تفعيل إعداد تقارير التغطية وإنشاء التقارير.
يمكنك إنشاء تقارير التغطية لكل نوع اختبار (وحدة وأدوات) لكل صيغة. يمكنك أيضًا إنشاء تقارير تغطية موحّدة لأنواع الاختبارات والوحدات وتنويعات التصميم المختلفة.
تفعيل نسبة استخدام رموز الصفحة
يجب تفعيل نسبة استخدام رموز الصفحة من خلال ضبط 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 (اختياري)
يطبّق AGP أداة 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 الذي تم إنشاؤه ملخصًا عالي المستوى لجميع الوحدات. يمكنك التنقّل من الوحدة إلى الحزمة، ومن الحزمة إلى الفئة، ومن الفئة إلى الملف المصدر. انقر على أي ملف للاطّلاع على الرمز مع تمييز تغطية السطر والفرع:
- اللون الأخضر: الأسطر التي تم اختبارها
- الأحمر: الأسطر غير المشمولة
- الأصفر: تغطية جزئية (بعض التعليمات أو الفروع غير مشمولة)
استخدام نسبة استخدام رموز الصفحة على الجهاز فقط للاختبار لقياس حالة التطبيق
يقيس مكوّن AGP تلقائيًا تغطية اختبارات قياس حالة التطبيق من خلال قياس فئات تطبيقك باستخدام JaCoCo عند إنشاء تطبيقك. بدءًا من الإصدار 9.6.0-alpha01 من مكوّن AGP، يمكنك استخدام قياس حالة التطبيق على الجهاز فقط بدلاً من ذلك، والذي يقيس فئات تطبيقك على الجهاز الاختباري أثناء إجراء الاختبارات. لمزيد من المعلومات، يُرجى الاطّلاع على عرض تقارير نسبة استخدام رموز الصفحة (باستخدام وكيل على الجهاز فقط).