平台的 GoogleTest(GTest,有时也称为“原生测试”)通常访问较低级别的 HAL 或针对各种系统服务执行原始 IPC。因此,测试方法通常与被测服务紧密耦合。
为了与持续测试基础架构集成,请使用 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
指定测试超时值,以微秒为单位。以下示例代码同时使用了这两个参数
atest test-name -- --module-arg test-name:native-test-flag:"\"argument1 argument2\"" \ --module-arg test-name:native-test-timeout:60000
使用 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 高级指南。