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

يجب تنفيذ اختبارات مضيف أرشيف 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",
    ],