GoogleTest

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

平台的 GoogleTest(GTest,有时也称为“原生测试”)通常会访问较低级别的 HAL,或针对各种系统服务执行原始 IPC。因此,测试方法通常与接受测试的服务密切相关。

如需与持续测试基础架构集成,请使用 GTest 框架构建 GTest。

示例

以下是平台源代码中 GTest 的一些示例:

步骤总结

  1. 按照 GTest 模块设置示例操作。
  2. 如需自动包含 GTest 依赖项,请在测试模块配置中使用 BUILD_NATIVE_TEST build 规则。
  3. 按照简单复杂选项的示例编写测试配置。
  4. 对于增量 build,请使用 mmm 构建测试模块;对于完整 build,请使用 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 高级指南