粒度可重试测试包装器
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 finalgetPassedTests ()
退货 | |
---|---|
获取重试次数
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 和/或其关联公司的注册商标。
最后更新时间 (UTC):2023-04-28。