GoogleТест

Тест Google (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.
    • 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 .