يصل اختبار GoogleTest (GTest، ويُطلق عليه أحيانًا اسم "الاختبارات الأصلية") للنظام الأساسي عادةً إلى طبقات HAL منخفضة المستوى أو ينفّذ عملية IPC أولية مقابل خدمات النظام المختلفة. لهذا السبب، يرتبط أسلوب الاختبار عادةً ارتباطًا وثيقًا بالخدمة التي يتم اختبارها.
للتكامل مع البنية الأساسية للاختبار المتواصل، أنشئ اختبارات GTest باستخدام إطار عمل GTest.
أمثلة
في ما يلي بعض الأمثلة على GTest في مصدر النظام الأساسي:
ملخّص الخطوات
اتّبِع مثال إعداد وحدة GTest.
لتضمين تبعيات GTest تلقائيًا، استخدِم
BUILD_NATIVE_TEST
قاعدة الإنشاء في إعداد وحدة الاختبار.اكتب إعدادات اختبارية باتّباع الأمثلة الخاصة بالخيارات البسيطة والمعقّدة.
أنشئ وحدة الاختبار باستخدام
mmm
لعمليات الإنشاء التزايدية أوmma
لعمليات الإنشاء الكاملة:make hwui_unit_tests -j
نفِّذ الاختبار محليًا باستخدام Atest:
atest hwui_unit_tests
يمكنك أيضًا إضافة وسيطات إلى اختبارات GTest. في ما يلي بعض الوسيطات المفيدة بشكل خاص:
- تحدّد
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
- تحدّد
نفِّذ الاختبار باستخدام أداة اختبار Trade Federation:
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.