谷歌測試

平台的 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指定測試逾時值(以微秒為單位)。

      以下範例程式碼使用這兩個參數:

      atest test-name -- --module-arg test-name:native-test-flag:"\"argument1 argument2\"" \
         --module-arg test-name:native-test-timeout:60000
      
  6. 使用 Trade Federation 測試工具執行測試:

    make tradefed-all -j
    tradefed.sh run template/local_min --template:map test=hwui_unit_tests
    
  7. 手動安裝並運行:

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