يجب تنفيذ اختبارات مضيف أرشيف Java (JAR) لتوفير التعليمات البرمجية الكاملة تغطية برنامجك. اتّبِع تعليمات إنشاء وحدة محلية. الاختبارات. اكتب اختبارات وحدة صغيرة للتحقّق من صحة وظيفة معيّنة وليس أكثر من ذلك.
مثال
يقدّم ملف المخطط التالي مثالاً بسيطًا على اختبار مضيف Hello World JAR. لنسخها والتكيّف مع احتياجاتك: platform_testing/tests/example/jarhosttest/Android.bp
ويتوافق هذا مع رمز الاختبار الفعلي الذي تم العثور عليه في: platform_testing/tests/example/jarhosttest/test/android/test/example/helloworld/HelloWorldTest.java
يتم تضمين لقطة من ملف المخطط هنا لتسهيل الأمر:
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 [options] <HelloWorldHostTest>
لإنشاء الاختبار الوحدة وجميع تبعياتها.name: "HelloWorldHostTest",
يسهّل الإعداد
test_suites
العثور على الاختبار بواسطة منصة التجارة. مفعِّل اختبار الاتحاد. يمكن إضافة مجموعات اختبار أخرى هنا، مثل CTS لكي تتم مشاركة اختبار مضيف JAR.test_suites: ["general-tests"],
يوجّه الإعداد
static_libs
نظام الإنشاء إلى دمج محتويات الوحدات المُسمّاة في حزمة APK الناتجة عن الوحدة الحالية. وهذا يعني أنّه من المتوقّع أن تنتج عن كل وحدة معني ملف.jar
. ويُستخدم محتوى الوحدة لحل مراجع مسار الفئة أثناء وقت التجميع ودمجها في حزمة APK الناتجة.static_libs: [ "junit", ],