पूरा कोड देने के लिए, 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 है
होस्ट टेस्ट. यहां इसके इस्तेमाल का एक उदाहरण देखें:
फ़्रेमवर्क/बेस/टूल/पावरमॉडल/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", ],