नतीजे की रिपोर्ट बनाने वाला टूल बनाना

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

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

Tradefed में नया नतीजा रिपोर्टर तय करने के लिए, किसी क्लास को ITestInvocationListener इंटरफ़ेस लागू करना होगा. इससे, कॉल करने के अलग-अलग चरणों को पाने और मैनेज करने में मदद मिलती है:

  • invocationStarted
  • invocationEnded
  • invocationFailed

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

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

इन सभी इवेंट के आधार पर, नतीजों की जानकारी देने वाले दो मुख्य तरह के रिपोर्टर होते हैं:

  • सिर्फ़ आखिरी नतीजों की रिपोर्टिंग पर ध्यान दें.
  • कुछ नतीजों पर कार्रवाई करना.

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

नतीजे पाने वाली किसी बाहरी सेवा के साथ इंटरैक्ट करने के मामले में, यह सबसे सामान्य मामला होता है. रिपोर्टर को नतीजे मिलते हैं और वह उन्हें इकट्ठा करता है. इसके बाद, वह सभी नतीजों को invocationEnded पर नतीजों के एंडपॉइंट पर भेजता है.

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

नतीजे बताने वाला टूल, जो कुछ नतीजे दिखाता है

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

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

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

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

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