اختبارات مضيف JAR

يجب تنفيذ اختبارات المضيف لملفات Java archive (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 لوحدتكم، ما يتيح لكم استخدام make [options] <HelloWorldHostTest> لإنشاء وحدة الاختبار وجميع تبعياتها.

    name: "HelloWorldHostTest",
    
  • يسهّل إعداد test_suites على أداة اختبار Trade Federation اكتشاف الاختبار. يمكن إضافة مجموعات اختبار أخرى هنا، مثل CTS، ما يتيح مشاركة اختبار المضيف لملف JAR.

    test_suites: ["general-tests"],
    
  • يطلب إعداد static_libs من نظام التصميم دمج محتويات الوحدات المسماة في ملف APK الناتج للوحدة الحالية. يعني ذلك أنّه من المتوقّع أن تنتج كل وحدة مسماة ملف .jar. يتم استخدام محتوى الوحدة لحلّ مراجع مسار الفئة أثناء وقت الترجمة ودمجها في ملف APK الناتج.

    static_libs: [
        "junit",
    ],