टेस्ट रनर, कॉल करने के फ़्लो की एक्ज़ीक्यूशन यूनिट है. यहां पर ही जांच की जाती है.
इंटरफ़ेस
टेस्ट रनर को IRemoteTest इंटरफ़ेस के ज़रिए तय किया जाता है. यह लागू करने के लिए एक आसान run
तरीका उपलब्ध कराता है. इसे टेस्ट चलाने के दौरान कॉल किया जाएगा.
इससे, टेस्ट रन की आसानी से परिभाषा तय की जा सकती है. हालांकि, आम तौर पर, टेस्ट लिखने वाले लोगों को अपने टेस्ट को सही तरीके से लिखने के लिए ज़्यादा जानकारी की ज़रूरत होती है. जैसे, बिल्ड और डिवाइस की जानकारी. ऐसे में, यहां दिए गए इंटरफ़ेस काम आते हैं.
सामान्य
फ़िलहाल, इन दोनों इंटरफ़ेस का सबसे ज़्यादा इस्तेमाल किया जाता है, क्योंकि ये ज़्यादातर टेस्ट की बुनियादी ज़रूरतों को पूरा करते हैं.
- IBuildReceiver की मदद से, जांच में बिल्ड प्रोवाइडर चरण में बनाया गया
IBuildInfo
ऑब्जेक्ट पाया जा सकता है. इसमें जांच सेटअप से जुड़ी सारी जानकारी और आर्टफ़ैक्ट शामिल होते हैं. - IDeviceTest की मदद से, TF को
ITestDevice
ऑब्जेक्ट मिलता है. यह ऑब्जेक्ट, जांच में शामिल डिवाइस के बारे में जानकारी देता है. साथ ही, इससे इंटरैक्ट करने के लिए एक एपीआई भी मिलता है.
बेहतर
कुछ और इंटरफ़ेस भी हैं, जिनकी मदद से टेस्ट हार्नेस और टेस्ट रनर के बीच ज़्यादा जटिल इंटरैक्शन किया जा सकता है:
- ITestFilterReceiver, इसकी मदद से टेस्ट को सिर्फ़ कुछ टेस्ट चलाने के लिए फ़िल्टर का सेट मिलता है. यह टेस्ट के सबसेट को चलाने में मददगार होता है.
- ITestCollector, इसकी मदद से टेस्ट रनर, टेस्ट को असल में चलाने के बजाय सिर्फ़ ड्राई-रन कर सकता है. यह सभी टेस्ट केस की सूची इकट्ठा करने में मददगार है.
मौजूदा टेस्ट रनर
कई तरह के टेस्ट रनर पहले से मौजूद हैं. इनमें से कुछ, मुख्य टेस्ट टाइप के लिए हैं:
- AndroidJUnitTest / InstrumentationTest (डिवाइस पर AJUR से जुड़ा)
- googletest लाइब्रेरी के साथ GTest (डिवाइस और होस्ट साइड)
- होस्ट से शुरू होने वाली जांच (होस्ट पर चलने वाली और वहां से डिवाइस को कॉल करने वाली Java जांच)
- सिर्फ़ Java की यूनिट जांच (हमारा रननर, दोनों तरह की जांच करता है)
- Python टेस्ट
- बेंचमार्क लाइब्रेरी की मदद से, Google बेंचमार्क की जांच
ऊपर बताए गए टेस्ट रनर के अलावा, ज़्यादातर कस्टम टेस्ट रनर मौजूद हैं. ये कुछ फ़ंक्शनल टेस्टिंग के लिए खास काम करते हैं. जैसे, बूट टेस्ट.
नया टेस्ट रनर लिखना
नया टेस्ट रनर लिखने के बारे में ज़्यादा जानकारी पाने के लिए, टेस्ट लिखने का सेक्शन देखें.