JAR 호스트 테스트

Java 보관 파일(JAR) 호스트 테스트는 소프트웨어의 완전한 코드 적용 범위를 제공하도록 구현되어야 합니다. 안내에 따라 로컬 단위 테스트 빌드를 실행합니다. 작은 단위 테스트를 작성하여 특정 함수를 검증합니다.

예

다음 Blueprint 파일은 필요에 맞게 복사 및 적용할 수 있는 간단한 Hello World JAR 호스트 테스트 예를 제공합니다. platform_testing/tests/example/jarhosttest/Android.bp

실제 테스트 코드는 platform_testing/tests/example/jarhosttest/test/android/test/example/helloworld/HelloWorldTest.java에 있습니다.

편의를 위해 여기에 Blueprint 파일의 개요가 포함되어 있습니다.

java_test_host {
    name: "HelloWorldHostTest",

    test_suites: ["general-tests"],

    srcs: ["test/**/*.java"],

    static_libs: [
        "junit",
        "mockito",
    ],
}

시작 시 java_test_host 선언은 이 파일이 JAR 호스트 테스트임을 나타냅니다. 사용 예는 frameworks/base/tools/powermodel/Android.bp를 참고하세요.

설정

다음 설정은 아래 설명을 참고하세요.

  • java_test_host 모듈 유형이 지정된 경우 블록 시작 부분에 name 설정이 필요합니다. 이 설정은 모듈에 이름을 지정하며, 그 결과로 생성되는 JAR 파일에는 동일한 이름과 .jar 접미사가 부여됩니다. 아래 예에서 결과로 생성되는 테스트 JAR의 이름은 HelloWorldHostTest.jar입니다. 또한, 이 설정은 모듈의 Make 타겟 이름을 정의하므로 make [options] <HelloWorldHostTest>를 사용하여 테스트 모듈 및 모든 종속 항목을 빌드할 수 있도록 합니다.

    name: "HelloWorldHostTest",
    
  • test_suites 설정을 사용하면 Trade Federation 테스트 하네스에서 테스트를 쉽게 찾을 수 있습니다. JAR 호스트 테스트를 공유할 수 있도록 여기에 CTS와 같은 다른 테스트 모음을 추가할 수 있습니다.

    test_suites: ["general-tests"],
    
  • static_libs 설정은 이름이 지정된 모듈의 콘텐츠를 현재 모듈의 결과 APK에 통합하도록 빌드 시스템에 지시합니다. 즉, 이름이 지정된 각 모듈은 .jar 파일을 생성해야 합니다. 모듈의 콘텐츠는 컴파일 시간에 클래스 경로 참조를 확인하는 데 사용되며 결과 APK에 통합됩니다.

    static_libs: [
        "junit",
    ],