自動測試重試

測試可能會因任何原因而失敗,有時只要重新執行測試就是 因此會因為火災情勢而重新傳遞 不需要底層基礎架構您可以設定 Tradefed 來執行重試作業 。

自動重試的核心是避免重新執行「所有」測試。就會再次執行 測試失敗,因此可大幅節省執行時間。

Tradefed 還支援多次執行測試,以便偵測 疊代功能。在這個範例中,所有測試都會 重新執行,如果任何疊代失敗,測試就會失敗

啟用自動重試

自動重試功能是透過 重試決策物件 提供了兩種啟用這項功能的選項:max-testcase-run-countretry-strategy

max-testcase-run-count 會促成重試或疊代次數 提示。並設定上限,避免永久重試。 retry-strategy 會決定重試的方式。請參閱下列章節 ,掌握更多詳細資訊。

停用自動重試功能

請使用以下選項:

--retry-strategy NO_RETRY

重試失敗

如要重試測試失敗,請使用下列選項:

--retry-strategy RETRY_ANY_FAILURE --max-testcase-run-count X

這會重試失敗,直到重試或重試次數上限為止 兩者取其先。

疊代作業

如要重新執行測試,您可以使用下列選項:

--retry-strategy ITERATIONS --max-testcase-run-count X

結果如何呈現?

根據預設,結果回報者會收到所有嘗試次數的匯總結果。

舉例來說:RETRY_ANY_FAILUREFailPass 會產生 匯總 Pass,因為重試來管理失敗。

回報者可能會收到非匯總結果。方法如下 就需要擴充 ISupportGranularResults 介面 宣告支援精細 (非匯總) 結果。

導入作業詳細資料

如要啟用自動重試功能以在測試案例層級重新執行失敗,請實作 ITestFilterReceiver

如果無法實作 ITestFilterReceiver IAutoRetriableTest 手動控制重新執行的方式 InstalledInstrumentationsTest 是該介面的實作範例。