粒度可重試測試包裝器
public class GranularRetriableTestWrapper
extends Object
implements IRemoteTest , ITestCollector
java.lang.Object | |
↳ | com.android.tradefed.testtype.suite.GranularRetriableTestWrapper |
包裝類在IRemoteTest
上工作,以在測試用例級別對 IRemoteTest 進行粒度化。一個 IRemoteTest 可以包含多個測試用例。以前,這些測試用例被視為一個整體:當 IRemoteTest 運行時,所有測試用例都會運行。一些 IRemoteTest(實現 ITestFilterReceiver 的那些)可以接受測試用例的白名單並且只運行那些測試用例。此類利用現有功能並提供更靈活的方式來運行測試套件。
- 可以多次重試單個測試用例(在同一次 IRemoteTest 運行中)以降低非測試錯誤失敗率。
- 重試的測試用例是從以前的運行失敗中動態收集的。
筆記:
- 運行測試用例子集的先決條件是測試類型應實現
ITestFilterReceiver
接口。 - X 是自定義的最大重試次數。
概括
嵌套類 | |
---|---|
class | GranularRetriableTestWrapper.StartEndCollector 捕捉缺失的運行開始和結束的類助手。 |
公共構造函數 | |
---|---|
GranularRetriableTestWrapper ( IRemoteTest test, ITestInvocationListener mainListener, TestFailureListener failureListener, moduleLevelListeners, int maxRunLimit) GranularRetriableTestWrapper ( IRemoteTest test, ITestInvocationListener mainListener, TestFailureListener failureListener, moduleLevelListeners, int maxRunLimit) | |
GranularRetriableTestWrapper ( IRemoteTest test, ModuleDefinition module, ITestInvocationListener mainListener, TestFailureListener failureListener, moduleLevelListeners, int maxRunLimit) GranularRetriableTestWrapper ( IRemoteTest test, ModuleDefinition module, ITestInvocationListener mainListener, TestFailureListener failureListener, moduleLevelListeners, int maxRunLimit) |
公共構造函數
粒度可重試測試包裝器
public GranularRetriableTestWrapper (IRemoteTest test, ITestInvocationListener mainListener, TestFailureListener failureListener,moduleLevelListeners, int maxRunLimit)
參數 | |
---|---|
test | IRemoteTest |
mainListener | ITestInvocationListener |
failureListener | TestFailureListener |
moduleLevelListeners | |
maxRunLimit | int |
粒度可重試測試包裝器
public GranularRetriableTestWrapper (IRemoteTest test, ModuleDefinition module, ITestInvocationListener mainListener, TestFailureListener failureListener,moduleLevelListeners, int maxRunLimit)
參數 | |
---|---|
test | IRemoteTest |
module | ModuleDefinition |
mainListener | ITestInvocationListener |
failureListener | TestFailureListener |
moduleLevelListeners | |
maxRunLimit | int |
公共方法
getExpectedTestsCount
public final int getExpectedTestsCount ()
計算IRemoteTest
中的測試用例數。該值區分多次重新安排的相同測試用例。
退貨 | |
---|---|
int |
獲取重試次數
public int getRetryCount ()
退貨 | |
---|---|
int |
跑步
public void run (TestInformation testInfo, ITestInvocationListener listener)
安排一系列IRemoteTest#run(TestInformation, ITestInvocationListener)
。
參數 | |
---|---|
testInfo | TestInformation :包含運行測試的有用信息的TestInformation 對象。 |
listener | ITestInvocationListener :ResultForwarder 偵聽器,其中包含每次運行的新 moduleListener。 |
投擲 | |
---|---|
DeviceNotAvailableException |
setCollectTestsOnly
public void setCollectTestsOnly (boolean shouldCollectTest)
啟用或禁用測試收集模式
設置調用上下文
public void setInvocationContext (IInvocationContext moduleInvocationContext)
將IInvocationContext
設置為GranularRetriableTestWrapper
屬性。
參數 | |
---|---|
moduleInvocationContext | IInvocationContext :包裝器在必要時使用 InvocationContext 來初始化 MetricCollector。 |
設置日誌保存器
public void setLogSaver (ILogSaver logSaver)
將模塊的ILogSaver
設置為GranularRetriableTestWrapper
屬性。
參數 | |
---|---|
logSaver | ILogSaver :每次測試運行的監聽器都應該保存日誌。 |
setMarkTestsSkipped
public void setMarkTestsSkipped (boolean skipTestCases)
將ModuleDefinition
RunStrategy 設置為GranularRetriableTestWrapper
屬性。
參數 | |
---|---|
skipTestCases | boolean : 是否應該跳過測試用例。 |
setMetricCollectors
public void setMetricCollectors (runMetricCollectors)
將ModuleDefinition
的 runMetricCollector 設置為GranularRetriableTestWrapper
屬性。
參數 | |
---|---|
runMetricCollectors |
設置模塊配置
public void setModuleConfig (IConfiguration moduleConfiguration)
將ModuleDefinition
的 ModuleConfig 設置為GranularRetriableTestWrapper
屬性。
參數 | |
---|---|
moduleConfiguration | IConfiguration :提供模塊指標。 |
設置模塊Id
public void setModuleId (String moduleId)
將ModuleDefinition
名稱設置為GranularRetriableTestWrapper
屬性。
參數 | |
---|---|
moduleId | String :模塊定義的名稱。 |
設置重試決定
public void setRetryDecision (IRetryDecision decision)
設置要使用的IRetryDecision
。
參數 | |
---|---|
decision | IRetryDecision |
這個頁面中的內容和程式碼範例均受《內容授權》中的授權所規範。Java 與 OpenJDK 是 Oracle 和/或其關係企業的商標或註冊商標。
上次更新時間:2023-03-30 (世界標準時間)。