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