JAR (자바) 호스트 테스트

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",
    ],