該平台的 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 高級指南。