आपके सॉफ़्टवेयर का संपूर्ण कोड कवरेज प्रदान करने के लिए जावा आर्काइव (JAR) होस्ट परीक्षण लागू किए जाने चाहिए। स्थानीय इकाई परीक्षण बनाने के लिए निर्देशों का पालन करें। किसी विशिष्ट फ़ंक्शन को मान्य करने के लिए छोटी इकाई परीक्षण लिखें और इससे अधिक कुछ नहीं।
उदाहरण
निम्नलिखित ब्लूप्रिंट फ़ाइल आपकी आवश्यकताओं को कॉपी करने और अनुकूलित करने के लिए एक सरल हैलो वर्ल्ड JAR होस्ट परीक्षण उदाहरण प्रदान करती है: प्लेटफ़ॉर्म_टेस्टिंग/टेस्ट/उदाहरण/जरहोस्टटेस्ट/एंड्रॉइड.बीपी
यह यहां पाए गए वास्तविक परीक्षण कोड से मेल खाता है: 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 होस्ट परीक्षण है। इसके उपयोग का एक उदाहरण देखें: frameworks/base/tools/powermodel/Android.bp
समायोजन
निम्नलिखित सेटिंग्स के स्पष्टीकरण के लिए नीचे देखें:
जब
java_test_host
मॉड्यूल प्रकार निर्दिष्ट किया जाता है (ब्लॉक की शुरुआत में) तोname
सेटिंग आवश्यक होती है। यह सेटिंग आपके मॉड्यूल को एक नाम देती है, और परिणामी JAR में एक ही नाम और एक.jar
प्रत्यय होता है। नीचे दिए गए उदाहरण में, परिणामी परीक्षण JAR कोHelloWorldHostTest.jar
नाम दिया गया है। इसके अलावा, यह सेटिंग आपके मॉड्यूल के लिए मेक लक्ष्य नाम को भी परिभाषित करती है, ताकि आप अपने परीक्षण मॉड्यूल और उसकी सभी निर्भरताओं को बनाने के लिएmake [options] <HelloWorldHostTest>
उपयोग कर सकें।name: "HelloWorldHostTest",
test_suites
सेटिंग ट्रेड फेडरेशन टेस्ट हार्नेस द्वारा परीक्षण को आसानी से खोजने योग्य बनाती है। अन्य परीक्षण सूट यहां जोड़े जा सकते हैं, जैसे सीटीएस, ताकि जेएआर होस्ट परीक्षण परीक्षण साझा किया जा सके।test_suites: ["general-tests"],
static_libs
सेटिंग बिल्ड सिस्टम को नामित मॉड्यूल की सामग्री को वर्तमान मॉड्यूल के परिणामी एपीके में शामिल करने का निर्देश देती है। इसका मतलब यह है कि प्रत्येक नामित मॉड्यूल से एक.jar
फ़ाइल तैयार करने की उम्मीद की जाती है। मॉड्यूल की सामग्री का उपयोग संकलन समय के दौरान क्लासपाथ संदर्भों को हल करने के लिए किया जाता है और परिणामी एपीके में शामिल किया जाता है।static_libs: [ "junit", ],