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 قيمة مهلة الاختبار بالميكروثانية.

      يستخدم رمز المثال التالي كلتا الوسيطتين:

      atest test-name -- --module-arg test-name:native-test-flag:"\"argument1 argument2\"" \
         --module-arg test-name:native-test-timeout:60000
      
  6. قم بإجراء الاختبار باستخدام أداة اختبار الاتحاد التجاري:

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

    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 المتقدم .