测试运行器的结构

测试运行器是调用流程的执行单元。这是实际运行测试的地方。

接口

测试运行器通过 IRemoteTest 接口定义,该接口提供了一个简单的 run 方法来实现,该方法将在要运行测试时调用。

这允许发生最简单的测试运行定义。但在实践中,测试编写者将需要更多信息才能正确编写测试,通常是构建和设备信息。这就是以下接口派上用场的地方。

基本

这两个接口是当今使用最广泛的接口,因为它们代表了大多数测试的基本需求。

  • IBuildReceiver 允许测试获取在构建提供程序步骤创建的 IBuildInfo 对象,其中包含与测试设置相关的所有信息和工件。
  • IDeviceTest 允许 TF 接收代表被测设备的 ITestDevice 对象,并提供用于与之交互的 API。

高级

还有其他接口允许测试框架和测试运行器之间进行更复杂的交互

  • ITestFilterReceiver,它允许测试接收一组过滤器,仅用于运行某些测试。这在运行测试子集时很有用。
  • ITestCollector,它允许测试运行器仅试运行测试而不是实际执行测试。这在收集所有测试用例的列表时很有用。

现有测试运行器

已经存在各种测试运行器,其中一些用于主要测试类型

除了上述测试运行器之外,还存在大量自定义测试运行器;它们用于某些功能测试的专门用途,例如启动测试。

编写新的测试运行器

关于编写新测试运行器的更多指导,请参阅编写测试部分