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