GoogleTest

عادةً ما يصل اختبار GoogleTest (GTest ، الذي يُطلق عليه أحيانًا "الاختبارات الأصلية") للنظام الأساسي إلى طبقات HAL منخفضة المستوى أو يؤدي IPC الخام مقابل خدمات النظام المختلفة. لهذا السبب ، عادةً ما يقترن نهج الاختبار بإحكام بالخدمة قيد الاختبار.

للتكامل مع البنية التحتية للاختبار المستمر ، قم ببناء اختبارات GT باستخدام إطار عمل GTest .

أمثلة

فيما يلي بعض الأمثلة على GTest في مصدر النظام الأساسي:

ملخص الخطوات

  1. اتبع مثال إعداد وحدة GTest .
  2. لتضمين تبعيات GTest تلقائيًا ، استخدم قاعدة BUILD_NATIVE_TEST في تكوين وحدة الاختبار الخاصة بك.
  3. اكتب تكوينًا اختباريًا ، باتباع الأمثلة للخيارات البسيطة والمعقدة .
  4. قم ببناء وحدة الاختبار باستخدام mmm للبنيات الإضافية ، أو mma للبنيات الكاملة:

    make hwui_unit_tests -j
    
  5. قم بإجراء الاختبار محليًا باستخدام 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>
  1. قم بإجراء الاختبار باستخدام أداة اختبار الاتحاد التجاري:

    make tradefed-all -j
    tradefed.sh run template/local_min --template:map test=hwui_unit_tests
    
  2. التثبيت والتشغيل يدويًا:

    1. ادفع ثنائي الاختبار الذي تم إنشاؤه على جهازك:

      adb push ${OUT}/data/nativetest/hwui_unit_tests/hwui_unit_tests \
        /data/nativetest/hwui_unit_tests/hwui_unit_tests
      
    2. قم بتشغيل GTest وتنفيذ الاختبار من خلال استدعاء اختبار ثنائي على الجهاز:

      adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests
      

    لمزيد من المعلومات حول تخصيص تنفيذ الاختبار ، أضف معلمة --help إلى برنامجك الثنائي الاختباري. لمزيد من المعلومات حول المعلمات ، راجع دليل GTest المتقدم .