إنّ اختبار 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.