يصل اختبار 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.