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

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

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

ट्रेडफ़ेड में, नतीजा के बारे में बताने वाला एक नया रिपोर्टर तय करने के लिए, क्लास को 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>