测试运行器的结构

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

接口

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

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

基本的

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

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

先进的

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

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

现有的测试运行器

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

除了上述之外,还有大量的自定义测试运行器;它们用于某些功能测试的特殊目的,例如引导测试。

编写新的测试运行器

有关编写新测试运行程序的更多指导,请参阅编写测试部分