该平台的 GoogleTest(GTest,有时也称为“本机测试”)通常会访问较低级别的 HAL 或针对各种系统服务执行原始 IPC。因此,测试方法通常与被测服务紧密耦合。
要与持续测试基础设施集成,请使用GTest框架构建您的 GTest。
例子
以下是平台源码中 GTest 的一些示例:
步骤总结
- 按照示例 GTest 模块设置。
- 要自动包含 GTest 依赖项,请在测试模块配置中使用
BUILD_NATIVE_TEST
构建规则。 - 按照简单和复杂选项的示例编写测试配置。
使用
mmm
构建测试模块以进行增量构建,或使用mma
构建完整构建:make hwui_unit_tests -j
使用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>
使用 Trade Federation 测试工具运行测试:
make tradefed-all -j tradefed.sh run template/local_min --template:map test=hwui_unit_tests
手动安装并运行:
将生成的测试二进制文件推送到您的设备上:
adb push ${OUT}/data/nativetest/hwui_unit_tests/hwui_unit_tests \ /data/nativetest/hwui_unit_tests/hwui_unit_tests
启动 GTest 并通过在设备上调用测试二进制文件来执行测试:
adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests
有关自定义测试执行的更多信息,请将
--help
参数添加到您的测试二进制文件中。有关参数的更多信息,请参阅GTest 高级指南。