테스트 실행기 구조

테스트 실행기는 호출 흐름의 실행 단위입니다. 여기서 실제로 테스트가 실행됩니다.

인터페이스

테스트 실행기는 IRemoteTest 인터페이스를 통해 정의됩니다. 이 인터페이스는 테스트 실행 시 호출되는, 구현할 간단한 run 메서드를 제공합니다.

이렇게 하면 가장 단순한 의미의 테스트 실행이 발생할 수 있습니다. 하지만 실제 과정에서는 테스트 작성자에게 빌드 및 기기 정보 등 추가 정보가 있어야 테스트를 제대로 작성할 수 있습니다. 이러한 경우에는 다음과 같은 인터페이스가 유용할 수 있습니다.

기본

아래의 두 인터페이스는 현재 가장 광범위하게 사용되고 있으며, 대부분의 테스트와 관련된 기본적인 요구사항을 나타냅니다.

  • IBuildReceiver는 테스트가 빌드 제공업체 단계에서 생성된 IBuildInfo 객체를 가져오도록 허용합니다. 이 단계에는 테스트 설정과 관련된 모든 정보와 아티팩트가 포함되어 있습니다.
  • IDeviceTest는 테스트 중인 기기를 나타내는 ITestDevice 객체의 수신을 허용하고 객체와 상호작용하는 API를 제공합니다.

고급

테스트 하네스와 테스트 실행기 간의 좀 더 복잡한 상호작용을 가능하게 해주는 추가적인 인터페이스가 있습니다.

  • ITestFilterReceiver는 테스트가 특정 테스트만 실행하도록 하기 위한 필터 모음을 수신할 수 있게 해줍니다. 이는 테스트의 하위 집합을 실행하는 경우에 유용합니다.
  • ITestCollector는 테스트 실행기가 테스트를 실제로 실행하는 대신 시험적 실행만 할 수 있게 해줍니다. 이는 모든 테스트 사례의 목록을 수집할 때 유용합니다.

기존 테스트 실행기

다양한 테스트 실행기가 이미 존재하며, 이 중 일부는 주요 테스트 유형과 관련이 있습니다.

위의 테스트 외에도 다수의 맞춤 테스트 실행기가 존재합니다. 이러한 테스트는 부팅 테스트와 같은 일부 기능 테스트와 관련된 특수한 용도로 사용됩니다.

새 테스트 실행기 작성

새 테스트 실행기 작성에 관한 자세한 내용은 테스트 작성 섹션을 참고하세요.