測試執行工具是叫用流程的執行單元。這是測試實際執行的位置
介面
測試執行工具會透過 IRemoteTest 介面定義,該介面會提供簡單的 run
方法,用於在執行測試時呼叫。
這樣一來,您就能以最簡單的方式定義測試執行作業。但在實際情況中,測試編寫人員需要更多資訊才能正確編寫測試,通常是建構和裝置資訊。這時,下列介面就派上用場。
基本
這兩種介面是目前最常用的介面,因為它們代表了大多數測試的基本需求。
- IBuildReceiver 可讓測試取得在build 提供者步驟中建立的
IBuildInfo
物件,其中包含與測試設定相關的所有資訊和構件。 - IDeviceTest 可讓 TF 接收代表測試中裝置的
ITestDevice
物件,並提供 API 與該物件互動。
進階版
還有其他介面可讓測試輔助程式和測試執行程式之間進行更複雜的互動:
- ITestFilterReceiver,可讓測試接收一組篩選器,僅執行特定測試。這在執行部分測試時相當實用。
- ITestCollector,可讓測試執行器僅模擬測試,而非實際執行。這項功能可用於收集所有測試案例的清單。
現有的測試執行器
目前已有多種測試執行程式,其中有些是用於主要測試類型:
- AndroidJUnitTest / InstrumentationTest (與裝置端的 AJUR 相關聯)
- GTest (裝置和主機端) 搭配 googletest 程式庫
- 主機導向測試 (在主機上執行,並從主機呼叫裝置的 Java 測試)
- 純 Java 單元測試 (我們的執行程式會執行這兩種測試)
- Python 測試
- 使用基準程式庫進行 Google Benchmark 測試
除了上述項目外,還有許多自訂測試執行工具,可用於特定的功能測試,例如啟動測試。
編寫新的測試執行器
如需如何編寫新測試執行器的更多指南,請參閱「編寫測試」一節。