पूरा कोड देने के लिए, Java आर्काइव (JAR) होस्ट टेस्ट लागू किए जाने चाहिए आपके सॉफ़्टवेयर का किस तरह का कवरेज होता है. स्थानीय इकाई बनाने के निर्देशों का पालन करें टेस्ट. किसी खास फ़ंक्शन की पुष्टि करने के लिए, छोटे यूनिट टेस्ट लिखें और कुछ न करें.
उदाहरण
नीचे दी गई ब्लूप्रिंट फ़ाइल में, Hello World JAR होस्ट की जांच का सामान्य उदाहरण दिया गया है नीचे दी गई कार्रवाइयों को कॉपी करें और अपनी ज़रूरतों के हिसाब से इस्तेमाल करें: platform_testing/tests/example/Jarhosttest/Android.bp
यह इस पर पाए गए वास्तविक परीक्षण कोड के अनुरूप है: platform_testing/tests/example/jarhosttest/test/android/test/example/helloworld/HeyWorldTest.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
सेटिंग की मदद से, ट्रेड होकर टेस्ट को आसानी से खोजा जा सकता है फ़ेडरेशन टेस्ट हार्नेस. यहां अन्य टेस्ट सुइट भी जोड़े जा सकते हैं. जैसे, सीटीएस, ताकि JAR होस्ट टेस्ट टेस्ट को शेयर किया जा सके.test_suites: ["general-tests"],
static_libs
सेटिंग, बिल्ड सिस्टम को यह निर्देश देती है कि वह नाम वाले मॉड्यूल का कॉन्टेंट, मौजूदा मॉड्यूल के नतीजे में बनने वाले APK में शामिल करता है. इसका मतलब है कि नाम वाले हर मॉड्यूल से एक.jar
फ़ाइल बनानी होगी. मॉड्यूल के कॉन्टेंट का इस्तेमाल, क्लास पाथ रेफ़रंस को रिज़ॉल्व करने के लिए किया जाता है समय को कंपाइल करके उसे नतीजे वाले APK में शामिल कर दिया जाता है.static_libs: [ "junit", ],