एक परिणाम रिपोर्टर बनाएँ

यह पृष्ठ एक नए परिणाम रिपोर्टर को कार्यान्वित करने और इसे परीक्षण के लिए कॉन्फ़िगर करने की मूल बातें बताता है।

कोर इंटरफ़ेस

ट्रेडफेड में एक नए परिणाम रिपोर्टर को परिभाषित करने के लिए, एक वर्ग को ITestInvocationListener इंटरफ़ेस लागू करना होगा जो आमंत्रण के विभिन्न चरणों को प्राप्त करने और संभालने की अनुमति देता है:

  • invocationStarted
  • invocationEnded
  • invocationFailed

परिणाम संवाददाता प्रत्येक परीक्षण के विभिन्न चरणों को भी संभालते हैं:

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

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

  • केवल अंतिम पूर्ण परिणाम रिपोर्ट करने की परवाह करें।
  • आंशिक परिणामों पर कार्रवाई करें.

परिणाम रिपोर्टर जो अंतिम पूर्ण परिणाम की रिपोर्ट करता है

यह प्रकार सबसे आम मामला है जब परिणाम प्राप्त करने वाली किसी बाहरी सेवा के साथ बातचीत करने की बात आती है। रिपोर्टर केवल परिणाम प्राप्त करता है और संग्रहीत करता है और फिर उन सभी को invocationEnded के अंत-बिंदु पर भेजता है।

हम अनुशंसा करते हैं कि वे रिपोर्टर invocationEnded तक परिणामों को सहेजने और संग्रहीत करने के पुन: कार्यान्वयन से बचने के लिए बेस इंटरफ़ेस के बजाय CollectingTestListener विस्तार करें।

परिणाम रिपोर्टर जो आंशिक परिणामों की रिपोर्ट करता है

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

यह प्रकार इस बात के लिए विशिष्ट है कि घटनाओं पर किस प्रकार की हैंडलिंग की आवश्यकता है, इसलिए बेस इंटरफ़ेस को लागू करना आमतौर पर अनुशंसित तरीका है।

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

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

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