عادةً ما يصل اختبار GoogleTest (GTest ، الذي يُطلق عليه أحيانًا "الاختبارات الأصلية") للنظام الأساسي إلى طبقات HAL منخفضة المستوى أو يؤدي IPC الخام مقابل خدمات النظام المختلفة. لهذا السبب ، عادةً ما يقترن نهج الاختبار بإحكام بالخدمة قيد الاختبار.
للتكامل مع البنية التحتية للاختبار المستمر ، قم ببناء اختبارات GT باستخدام إطار عمل GTest .
أمثلة
فيما يلي بعض الأمثلة على GTest في مصدر النظام الأساسي:
ملخص الخطوات
اتبع مثال إعداد وحدة GTest .
لتضمين تبعيات GTest تلقائيًا ، استخدم قاعدة البناء
BUILD_NATIVE_TEST
في تكوين وحدة الاختبار الخاصة بك.اكتب تكوين اختبار ، باتباع الأمثلة للخيارات البسيطة والمعقدة .
قم ببناء وحدة الاختبار باستخدام
mmm
للبنيات الإضافية ، أوmma
للبنيات الكاملة:make hwui_unit_tests -j
قم بإجراء الاختبار محليًا باستخدام Atest :
atest hwui_unit_tests
يمكنك أيضًا إضافة الحجج إلى اختباراتك. فيما يلي حجج مفيدة بشكل خاص:
- تحدد
native-test-flag
قيمًا إضافية للعلامة لتمريرها إلى الأمر GTest shell. تحدد
native-test-timeout
قيمة مهلة الاختبار بالميكروثانية.يستخدم رمز المثال التالي كلتا الوسيطتين:
atest test-name -- --module-arg test-name:native-test-flag:"\"argument1 argument2\"" \ --module-arg test-name:native-test-timeout:60000
- تحدد
قم بإجراء الاختبار باستخدام أداة اختبار الاتحاد التجاري:
make tradefed-all -j tradefed.sh run template/local_min --template:map test=hwui_unit_tests
قم بالتثبيت والتشغيل يدويًا:
ادفع ثنائي الاختبار الذي تم إنشاؤه على جهازك:
adb push ${OUT}/data/nativetest/hwui_unit_tests/hwui_unit_tests \ /data/nativetest/hwui_unit_tests/hwui_unit_tests
قم بتشغيل GTest وتنفيذ الاختبار من خلال استدعاء اختبار ثنائي على الجهاز:
adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests
لمزيد من المعلومات حول تخصيص تنفيذ الاختبار ، أضف معلمة
--help
إلى برنامجك الثنائي الاختباري. لمزيد من المعلومات حول المعلمات ، راجع دليل GTest المتقدم .