يجب تنفيذ اختبارات مضيف أرشيف 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
إعدادات
انظر أدناه للحصول على شرح للإعدادات التالية:
يكون إعداد
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", ],