谷歌測試

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

以下示例代碼使用這兩個參數:

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