تست های میزبان بایگانی جاوا (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", ],