تست های میزبان بایگانی جاوا (JAR) باید برای ارائه پوشش کد کامل نرم افزار شما پیاده سازی شود. دستورالعمل های ساخت تست های واحد محلی را دنبال کنید. تست های واحد کوچک را بنویسید تا یک تابع خاص را تایید کنید و نه بیشتر.
مثال
فایل Blueprint زیر یک نمونه آزمایش ساده میزبان JAR Hello World را برای کپی و تطبیق با نیازهای شما ارائه می دهد: 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 target برای ماژول شما تعریف می کند، به طوری که می توانیدmake [options] <HelloWorldHostTest>
برای ساخت ماژول آزمایشی خود و همه وابستگی های آن استفاده کنید.name: "HelloWorldHostTest",
تنظیمات
test_suites
باعث می شود که تست به راحتی توسط مهار تست فدراسیون تجارت قابل شناسایی باشد. مجموعههای تست دیگری مانند CTS را میتوان در اینجا اضافه کرد تا تست میزبان JAR به اشتراک گذاشته شود.test_suites: ["general-tests"],
تنظیمات
static_libs
به سیستم ساخت دستور میدهد که محتویات ماژولهای نامگذاری شده را در APK حاصل از ماژول فعلی ترکیب کند. این بدان معنی است که انتظار می رود هر ماژول نامگذاری شده یک فایل.jar
تولید کند. محتوای ماژول برای حل ارجاعات مسیر کلاس در طول زمان کامپایل استفاده میشود و در APK حاصل گنجانده میشود.static_libs: [ "junit", ],