اختبار Google

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

للدمج مع البنية الأساسية للاختبار المستمر، يمكنك إنشاء اختبارات GTest باستخدام إطار عمل GTest.

أمثلة

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

ملخّص الخطوات

  1. اتّبِع الخطوات الموضّحة في مثال لإعداد وحدة GTest.

  2. لتضمين تبعيات GTest تلقائيًا، استخدِم BUILD_NATIVE_TEST قاعدة الإنشاء في إعدادات وحدة الاختبار.

  3. اكتب إعدادًا تجريبيًا، مع اتّباع الأمثلة للخيارات البسيطة والمركّبة.

  4. أنشئ وحدة الاختبار باستخدام mmm للإصدارات المتزايدة، أو mma للإصدارات الكاملة:

    make hwui_unit_tests -j
    
  5. يمكنك إجراء الاختبار محليًا باستخدام 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
      
  6. يمكنك إجراء الاختبار باستخدام حِزمة اختبار Trade Federation:

    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.