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

टेस्ट रनर, इनवोकेशन फ़्लो की एक्ज़ीक्यूशन यूनिट होती है. टेस्ट असल में यहीं रन होते हैं.

इंटरफ़ेस

टेस्ट रनर, IRemoteTest इंटरफ़ेस के ज़रिए तय किए जाते हैं, इसमें run का एक आसान तरीका होता है. इसे लागू करने पर, टेस्ट रन होने पर कॉल किया जाएगा.

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

सामान्य कार्रवाई

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

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

बेहतर

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

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

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

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

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

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

नया टेस्ट रनर लिखने के बारे में ज़्यादा जानकारी, टेस्ट लिखने वाले सेक्शन में उपलब्ध है.