عادةً ما يصل اختبار 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.