Google は、黒人コミュニティに対する人種平等の促進に取り組んでいます。取り組みを見る

テストランナーの構造

テストランナーは、呼び出しフローの実行ユニットです。テストランナーはテストが実際に実行される場所です。

インターフェース

テストランナーは IRemoteTest インターフェースによって定義されます。このインターフェースはシンプルな run メソッドを提供し、テストの実行時にはこのメソッドが呼び出されます。

これにより、実行するテストの最も簡単な定義を行うことができます。しかし、実際にテストを作成するには、ビルドやデバイスの情報など、テストを適切に記述するためにさらに詳しい情報が必要になります。そのための便利なインターフェースを次に挙げます。

基本的なインターフェース

以下の 2 つのインターフェースは、ほとんどのテストの基本的なニーズに対応しているため、今日最も広く使用されています。

  • IBuildReceiver: ビルド プロバイダ ステップで作成された IBuildInfo オブジェクトをテストに取り込むことができます。テストのセットアップに関連するすべての情報とアーティファクトが含まれています。
  • IDeviceTest: テスト対象のデバイスを表し、そのデバイスを操作する API を提供する ITestDevice オブジェクトを TF が受信できるようにします。

高度なインターフェース

テストハーネスとテストランナー間でより複雑なやり取りを行うことを可能にする追加のインターフェースがあります。

  • ITestFilterReceiver: 特定のテストのみを実行するフィルタのセットをテストで受け取ることができます。これは、テストのサブセットを実行するときに役立ちます。
  • ITestCollector: テストランナーが実際にテストを実行する代わりに、テストのドライランのみを実行できるようにします。これは、すべてのテストケースのリストを収集するのに役立ちます。

既存のテストランナー

さまざまなテストランナーが存在します。主なテストタイプは次のとおりです。

上記以外にも多数のカスタム テストランナーが存在し、起動テストなどの機能テストに特化した機能を提供します。

テストランナーの新規作成

新しいテストランナーの作成については、テストの作成に関するセクションをご覧ください。