2025년 3월 27일부터 AOSP를 빌드하고 기여하려면 aosp-main
대신 android-latest-release
를 사용하는 것이 좋습니다. 자세한 내용은 AOSP 변경사항을 참고하세요.
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",
],
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-27(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-07-27(UTC)"],[],[],null,["# JAR host tests\n\nJava archive (JAR) host tests should be implemented to provide complete code\ncoverage of your software. Follow the instructions to [Build local unit\ntests](https://developer.android.com/training/testing/unit-testing/local-unit-tests).\nWrite small unit tests to validate a specific function and nothing more.\n\nExample\n-------\n\nThe following Blueprint file provides a simple Hello World JAR host test example\nto copy and adapt to your needs:\n[platform_testing/tests/example/jarhosttest/Android.bp](https://android.googlesource.com/platform/platform_testing/+/android16-release/tests/example/jarhosttest/Android.bp)\n\nThis corresponds to the actual test code found at:\n[platform_testing/tests/example/jarhosttest/test/android/test/example/helloworld/HelloWorldTest.java](https://android.googlesource.com/platform/platform_testing/+/android16-release/tests/example/jarhosttest/test/android/test/example/helloworld/HelloWorldTest.java)\n\nA snapshot of the Blueprint file is included here for convenience: \n\n java_test_host {\n name: \"HelloWorldHostTest\",\n\n test_suites: [\"general-tests\"],\n\n srcs: [\"test/**/*.java\"],\n\n static_libs: [\n \"junit\",\n \"mockito\",\n ],\n }\n\nThe `java_test_host` declaration at the beginning indicates that this is a JAR\nhost test. See an example of its use in:\n[frameworks/base/tools/powermodel/Android.bp](https://android.googlesource.com/platform/frameworks/base/+/refs/heads/android16-release/tools/powermodel/Android.bp)\n\nSettings\n--------\n\nSee below for explanations of the following settings:\n\n- The `name` setting is required when the `java_test_host` module type is\n specified (at the start of the block). This setting gives a name to your\n module, and the resulting JAR has the same name and a `.jar` suffix. In the\n example below,the resulting test JAR is named `HelloWorldHostTest.jar`. In\n addition, this setting also defines a make target name for your module, so\n that you can use `make [options] \u003cHelloWorldHostTest\u003e` to build your test\n module and all its dependencies.\n\n name: \"HelloWorldHostTest\",\n\n- The `test_suites` setting makes the test easily discoverable by the Trade\n Federation test harness. Other test suites can be added here, such as CTS,\n so that the JAR host test test can be shared.\n\n test_suites: [\"general-tests\"],\n\n- The `static_libs` setting instructs the build system to incorporate the\n contents of the named modules into the resulting APK of the current module.\n This means that each named module is expected to produce a `.jar` file.\n The module's content is used for resolving classpath references during\n compile time and incorporated into the resulting APK.\n\n static_libs: [\n \"junit\",\n ],"]]