GoogleTest

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 указывает значение времени ожидания теста в микросекундах.

В следующем примере кода используются оба этих аргумента:

   <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 .