जेएआर होस्ट टेस्ट

पूरा कोड देने के लिए, Java संग्रह (JAR) होस्ट टेस्ट लागू किए जाने चाहिए आपके सॉफ़्टवेयर का किस तरह का कवरेज होता है. स्थानीय इकाई बनाने के निर्देशों का पालन करें टेस्ट. किसी खास फ़ंक्शन की पुष्टि करने के लिए, छोटे यूनिट टेस्ट लिखें. इसके अलावा, कुछ और करने की ज़रूरत नहीं है.

उदाहरण

नीचे दी गई ब्लूप्रिंट फ़ाइल में, Hello World JAR होस्ट की जांच का सामान्य उदाहरण दिया गया है नीचे दी गई कार्रवाइयों को कॉपी करें और अपनी ज़रूरतों के हिसाब से इस्तेमाल करें: platform_testing/tests/example/Jarhosttest/Android.bp

यह यहां पाए गए वास्तविक परीक्षण कोड के अनुरूप है: platform_testing/tests/example/Jarhosttest/test/android/test/example/helloworld/नमस्तेWorldTest.java

सुविधा के लिए, ब्लूप्रिंट फ़ाइल का स्नैपशॉट यहां दिया गया है:

java_test_host {
    name: "HelloWorldHostTest",

    test_suites: ["general-tests"],

    srcs: ["test/**/*.java"],

    static_libs: [
        "junit",
        "mockito",
    ],
}

इसकी शुरुआत में मौजूद java_test_host एलान से पता चलता है कि यह एक JAR है होस्ट टेस्ट. यहां इसके इस्तेमाल का एक उदाहरण देखें: फ़्रेमवर्क/बेस/टूल/पावरमॉडल/Android.bp

सेटिंग

इन सेटिंग की जानकारी के लिए नीचे देखें:

  • name सेटिंग की ज़रूरत तब होती है, जब java_test_host मॉड्यूल टाइप यह हो (ब्लॉक की शुरुआत में) बताया गया है. यह सेटिंग आपके मॉड्यूल का इस्तेमाल किया जाता है और इससे बनने वाले JAR का नाम भी वही होता है और एक .jar सफ़िक्स भी होता है. इस उदाहरण के लिए,नतीजे के तौर पर मिलने वाले JAR का नाम HelloWorldHostTest.jar है. तय सीमा में इसके अलावा, यह सेटिंग आपके मॉड्यूल के लिए टारगेट का नाम भी तय करती है, इसलिए टेस्ट बनाने के लिए, make [options] <HelloWorldHostTest> का इस्तेमाल किया जा सकता है मॉड्यूल और इसकी सभी डिपेंडेंसी.

    name: "HelloWorldHostTest",
    
  • test_suites सेटिंग की मदद से, Trade Federation टेस्ट हार्नेस को टेस्ट आसानी से मिल जाता है. यहां अन्य टेस्ट सुइट जोड़े जा सकते हैं, जैसे कि CTS, ताकि JAR होस्ट टेस्ट को शेयर किया जा सके.

    test_suites: ["general-tests"],
    
  • static_libs सेटिंग, बिल्ड सिस्टम को यह निर्देश देती है कि वह नाम वाले मॉड्यूल का कॉन्टेंट, मौजूदा मॉड्यूल के नतीजे में बनने वाले APK में शामिल करता है. इसका मतलब है कि नाम वाले हर मॉड्यूल से एक .jar फ़ाइल बनानी होगी. मॉड्यूल के कॉन्टेंट का इस्तेमाल, क्लास पाथ रेफ़रंस को रिज़ॉल्व करने के लिए किया जाता है समय को कंपाइल करके उसे नतीजे वाले APK में शामिल कर दिया जाता है.

    static_libs: [
        "junit",
    ],