टेस्ट रनर का स्ट्रक्चर

टेस्ट रनर, कॉल करने के फ़्लो की एक्ज़ीक्यूशन यूनिट है. यहां पर ही जांच की जाती है.

इंटरफ़ेस

टेस्ट रनर को IRemoteTest इंटरफ़ेस के ज़रिए तय किया जाता है. यह लागू करने के लिए एक आसान run तरीका उपलब्ध कराता है. इसे टेस्ट चलाने के दौरान कॉल किया जाएगा.

इससे, टेस्ट रन की आसानी से परिभाषा तय की जा सकती है. हालांकि, आम तौर पर, टेस्ट लिखने वाले लोगों को अपने टेस्ट को सही तरीके से लिखने के लिए ज़्यादा जानकारी की ज़रूरत होती है. जैसे, बिल्ड और डिवाइस की जानकारी. ऐसे में, यहां दिए गए इंटरफ़ेस काम आते हैं.

सामान्य

आज-कल इन दोनों इंटरफ़ेस का सबसे ज़्यादा इस्तेमाल किया जाता है, क्योंकि ये ज़्यादातर टेस्ट की बुनियादी ज़रूरतों के बारे में बताते हैं.

  • IBuildReceiver, टेस्ट को बिल्ड प्रोवाइडर चरण पर बनाया गया IBuildInfo ऑब्जेक्ट पाने की अनुमति देता है. इसमें टेस्ट सेटअप से जुड़ी सभी जानकारी और आर्टफ़ैक्ट शामिल होते हैं.
  • IDeviceTest, TF को ITestDevice ऑब्जेक्ट पाने की अनुमति देता है. यह ऑब्जेक्ट, उस डिवाइस की जानकारी देता है जो टेस्ट में है और इससे इंटरैक्ट करने के लिए एपीआई उपलब्ध कराता है.

बेहतर

कुछ और इंटरफ़ेस भी हैं, जिनकी मदद से टेस्ट हार्नेस और टेस्ट रनर के बीच ज़्यादा जटिल इंटरैक्शन किया जा सकता है:

  • ITestFilterReceiver, इसकी मदद से टेस्ट को सिर्फ़ कुछ टेस्ट चलाने के लिए फ़िल्टर का सेट मिलता है. यह टेस्ट के सबसेट को चलाने में मददगार होता है.
  • ITestCollector, जिसकी मदद से टेस्ट रनर, टेस्ट को असल में चलाने के बजाय सिर्फ़ ड्राई-रन कर सकता है. यह सभी टेस्ट केस की सूची इकट्ठा करने में मददगार है.

मौजूदा टेस्ट रनर

कई तरह के टेस्ट रनर पहले से मौजूद हैं. इनमें से कुछ, मुख्य टेस्ट टाइप के लिए हैं:

ऊपर बताए गए टेस्ट रनर के अलावा, ज़्यादातर कस्टम टेस्ट रनर मौजूद हैं. ये कुछ फ़ंक्शनल टेस्टिंग के लिए खास काम करते हैं. जैसे, बूट टेस्ट.

नया टेस्ट रनर लिखना

नया टेस्ट रनर लिखने के बारे में ज़्यादा जानकारी पाने के लिए, टेस्ट लिखने का सेक्शन देखें.