گوگل تست

یک 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
    

    شما همچنین می‌توانید آرگومان‌هایی را به GTests خود اضافه کنید. آرگومان‌های زیر به ویژه مفید هستند:

    • native-test-flag مقادیر پرچم اضافی را برای ارسال به دستور پوسته GTest مشخص می‌کند.
    • 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 مراجعه کنید.