谷歌测试

该平台的 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以微秒为单位指定测试超时值。

以下示例代码使用这两个参数:

   <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. 使用 Trade Federation 测试工具运行测试:

    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 高级指南