नतीजों के बारे में जानकारी देने वाला रिपोर्टर बनाएं

इस पेज में बुनियादी जानकारी दी गई है कि नतीजों की जानकारी देने वाले नए रिपोर्टर को कैसे लागू किया जाता है और टेस्ट करने के लिए इसे कॉन्फ़िगर करें.

मुख्य इंटरफ़ेस

Trefed में नया नतीजा रिपोर्टर तय करने के लिए, क्लास को लागू करना होगा यह ITestInvocationListener एक ऐसा इंटरफ़ेस जो इसके अलग-अलग स्टेज को रिसीव करने और हैंडल करने की अनुमति देता है शुरू करना:

  • invocationStarted
  • invocationEnded
  • invocationFailed

नतीजों की रिपोर्ट करने वाले लोग, हर टेस्ट रन के अलग-अलग स्टेज भी मैनेज करते हैं:

  • testRunStarted
  • testStarted
  • testFailed या testIgnored
  • testEnded
  • testRunFailed
  • testRunEnded

इन सभी इवेंट को देखते हुए, मुख्य रूप से दो तरह के रिपोर्टर होते हैं:

  • केवल अंतिम पूर्ण परिणामों की रिपोर्ट करने के बारे में ध्यान रखें.
  • आंशिक नतीजों पर कार्रवाई करें.

नतीजों की जानकारी देने वाला रिपोर्टर, जो आखिरी पूरे नतीजों को रिपोर्ट करता है

किसी बाहरी से इंटरैक्ट करते समय यह सबसे सामान्य मामला है नतीजे मिलते हैं. रिपोर्टर को सिर्फ़ यह जानकारी मिलती है कि नतीजों को दिखाती है और फिर उन सभी को invocationEnded पर नतीजे के एंड-पॉइंट पर भेजती है.

हमारा सुझाव है कि वे रिपोर्टर इसके बजाय CollectingTestListener का समय बढ़ाएं को फिर से लागू करने से बचाने के लिए, बेस इंटरफ़ेस को अपलोड किया है. invocationEnded तक नतीजे.

आंशिक नतीजों की जानकारी देने वाला रिपोर्टर

आम तौर पर, नतीजों को स्ट्रीम करने के लिए इस तरह का इस्तेमाल किया जाता है. हालांकि, ऐसा तब होता है, जब नतीजे उन्हें तुरंत अन्य जगहों पर भेज दिया जाता है. उदाहरण के लिए, रिपोर्टर जो कंसोल पर नतीजों को लॉग करता है, वे इस तरह के होंगे.

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

एक्सएमएल कॉन्फ़िगरेशन

ऑब्जेक्ट टैग result_reporter है. उदाहरण के लिए:

<result_reporter class="com.android.tradefed.result.ConsoleResultReporter">
    <option name="suppress-passed-tests" value="true"/>
</result_reporter>