टारगेट तैयार करने वाले टूल, उन टेस्ट लेवल में टेस्ट से पहले चालू किए जाते हैं जिनमें उन्हें तय किया गया है. इससे, टेस्ट को आसानी से चलाने के लिए किसी भी डिवाइस को सेट अप किया जा सकता है.
बेस इंटरफ़ेस
बेस इंटरफ़ेस ITargetPreparer
है. इसकी मदद से, setUp
तरीके को लागू किया जा सकता है. हमारा सुझाव है कि आप हमारी बुनियादी एब्स्ट्रैक्ट क्लास BaseTargetPreparer
को लागू करें. इसमें, प्रिपरर को आसानी से बंद करने के लिए, पहले से मौजूद बंद करने की सुविधा मिलती है.
बेहतर इंटरफ़ेस
setUp
का नैचुरल एक्सटेंशन tearDown
है. इसे ITargetCleaner
नाम के अलग इंटरफ़ेस से उपलब्ध कराया जाता है. इससे tearDown
इंटरफ़ेस मिलता है, जिसकी मदद से टेस्ट के बाद setUp
में किए गए किसी भी काम को हटाया जा सकता है.
BaseTargetPreparer
क्लास में ITargetCleaner
भी शामिल है.
सुझाव
हमारा सुझाव है कि हर प्रिपरर को एक ही मुख्य फ़ंक्शन पर सीमित रखा जाए. उदाहरण के लिए, APK इंस्टॉल करना या कोई निर्देश चलाना. इससे, प्रिपरर को आसानी से फिर से इस्तेमाल किया जा सकता है.
नया प्रिपरर जोड़ने से पहले, उपलब्ध प्रिपरर की सूची देखें, ताकि डुप्लीकेट काम न करना पड़े. प्रिपरर, tools/tradefederation/core/src/com/android/tradefed/targetprep/
में उपलब्ध हैं.
एक्सएमएल कॉन्फ़िगरेशन
ऑब्जेक्ट टैग target_preparer
है. उदाहरण के लिए:
<target_preparer class="com.android.tradefed.targetprep.InstallApkSetup">
<option name="install-arg" value="-d"/>
</target_preparer>
संदर्भ के लिए, सुइट सेट अप करना लेख भी पढ़ें.
टॉप-लेवल सेटअप
अगर टॉप-लेवल सेटअप में बताया गया है, तो हर डिवाइस के लिए, प्रिपरर सिर्फ़ एक बार चलता है. उदाहरण के लिए, cts-common.xml
, Android Compatibility Test Suite (CTS) टेस्ट के लिए टॉप-लेवल सेटअप है.
मॉड्यूल-लेवल सेटअप
अगर मॉड्यूल लेवल पर तय किया गया है, तो प्रिपरर हमेशा उस मॉड्यूल से पहले चलता है. उदाहरण के लिए, backup/AndroidTest.xml
, जिससे यह तय होता है कि Tradefed, backup
सीटीएस मॉड्यूल को कैसे चलाता है.
ध्यान दें कि प्रिपरर, मॉड्यूल से पहले चलता है. हालांकि, यह सिस्टम की स्थिति की जांच करने वाले किसी भी टूल के बाद चलता है.