유닛 테스트 포함

이 섹션에서는 프로젝트를 변경한 후 Trade Federation 테스트를 실행하는 방법에 대해 설명합니다. 다음과 같은 내용이 포함됩니다.

  • 새 유닛 테스트 클래스 추가 위치
  • Eclipse 및 Eclipse IDE 외부에서 유닛 테스트 실행
  • 기능 테스트 실행
  • 로컬에서 일부 TF 사전 제출 검사 실행

유닛 테스트 추가

Android 오픈소스 프로젝트(AOSP)에서 유닛 테스트 클래스를 tools/tradefederation/core/tests/src/com/android/tradefed/UnitTests.java에 추가합니다.

중요: 이러한 위치에 새 유닛 테스트 클래스를 추가하면 추가 설정 없이 사전 제출에서 자동으로 실행됩니다.

유닛 테스트 실행

Trade Federation의 모든 AOSP 유닛 테스트와 기능 테스트는 tools/tradefederation/core/tests 프로젝트에 위치합니다.

Eclipse 내에서 개별 유닛 테스트를 실행하려면 테스트를 마우스 오른쪽 버튼으로 클릭하고 다음으로 실행: > JUnit을 선택하기만 하면 됩니다. 모든 유닛 테스트를 실행하려면 com.android.tradefed.UnitTests 도구 모음을 실행합니다.

tools/tradefederation/core/tests/run_tradefed_tests.sh처럼 빌딩 이후에 Tradefed 소스 트리의 명령줄에서 유닛 테스트를 시작할 수도 있습니다.

유닛 테스트는 독립형으로 실행할 수 있지만 기능 테스트는 Trade Federation 자체를 사용하여 실행해야 하며 Android 기기가 필요합니다. 모든 기능 테스트는 이름 지정 규칙 *FuncTest를 따라야 합니다.

기능 테스트 실행

Eclipse에서 기능 테스트를 실행하는 방법:

  1. 기기가 호스트 및 해당 adb에 연결되었는지 확인하고 필요한 경우 fastboot가 Eclipse의 경로에 있는지 확인합니다. 가장 쉬운 방법은 셸 설정에서 적절한 PATH를 사용하여 Eclipse를 실행하는 것입니다.
  2. 자바 애플리케이션을 생성합니다. 실행 > 구성 실행을 통해 구성을 실행합니다.
  3. 프로젝트를 google-tradefederation-tests로, 기본 클래스를 com.android.tradefed.command.CommandRunner로 설정합니다.
  4. 명령줄 인수 host --class <full path of test class to run>인수 탭에 제공합니다.
  5. 실행을 클릭합니다.

Eclipse 외부에서 기능 테스트를 실행합니다.

  1. Trade Federation을 빌드합니다.
  2. Android 기기를 호스트에 연결합니다.
  3. tools/tradefederation/core/tests/run_tradefed_func_tests.sh를 실행합니다
  4. 원하는 경우 adb devices의 출력에 표시되는 --serial <serial no>를 추가하여 기기를 선택합니다.

로컬 변경사항에 대한 TF 사전 제출 테스트 실행

TF 사전 제출과 유사한 방식으로 실행하려면 다음을 사용하세요.

tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh
    

그러면 변경사항으로 인해 중단되는 테스트가 없는지 확인할 수 있도록 로컬에서 빌드한 TF에 대한 모든 TF 사전 제출 테스트가 트리거됩니다.

TF 사전 제출 테스트는 위에서 언급한 유닛 테스트의 상위 집합이지만 실행 속도가 훨씬 느립니다. 따라서 개발 도중에 유닛 테스트를 실행하여 빠르게 검증하고 CL을 업로드하기 전에 사전 제출을 실행하는 것이 좋습니다.