عادةً ما يصل اختبار GoogleTest (GTest ، الذي يُطلق عليه أحيانًا "الاختبارات الأصلية") للنظام الأساسي إلى طبقات HAL منخفضة المستوى أو يؤدي IPC الخام مقابل خدمات النظام المختلفة. لهذا السبب ، عادةً ما يقترن نهج الاختبار بإحكام بالخدمة قيد الاختبار.
للتكامل مع البنية التحتية للاختبار المستمر ، قم ببناء اختبارات GT باستخدام إطار عمل GTest .
أمثلة
فيما يلي بعض الأمثلة على GTest في مصدر النظام الأساسي:
ملخص الخطوات
- اتبع مثال إعداد وحدة GTest .
- لتضمين تبعيات GTest تلقائيًا ، استخدم قاعدة
BUILD_NATIVE_TEST
في تكوين وحدة الاختبار الخاصة بك. - اكتب تكوينًا اختباريًا ، باتباع الأمثلة للخيارات البسيطة والمعقدة .
قم ببناء وحدة الاختبار باستخدام
mmm
للبنيات الإضافية ، أوmma
للبنيات الكاملة:make hwui_unit_tests -j
قم بإجراء الاختبار محليًا باستخدام Atest :
atest hwui_unit_tests
يمكنك أيضًا إضافة الحجج إلى اختباراتك. فيما يلي وسائط مفيدة بشكل خاص: * تحدد native-test-flag
قيم علامة إضافية لتمريرها إلى أمر GTest shell. * تحدد native-test-timeout
قيمة مهلة الاختبار بالميكروثانية.
يستخدم رمز المثال التالي كلتا الوسيطتين:
<pre class="devsite-terminal devsite-click-to-copy">
atest <var>test-name</var> -- --module-arg <var>test-name</var>:native-test-flag:"\"<var>argument1</var> <var>argument2</var>\"" \
--module-arg <var>test-name</var>:native-test-timeout:60000
</pre>
قم بإجراء الاختبار باستخدام أداة اختبار الاتحاد التجاري:
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 المتقدم .