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