একটি ফলাফল রিপোর্টার তৈরি করুন

এই পৃষ্ঠায় একটি নতুন রেজাল্ট রিপোর্টার কীভাবে প্রয়োগ করতে হয় এবং একটি পরীক্ষার জন্য এটিকে কীভাবে কনফিগার করতে হয় তার প্রাথমিক বিষয়গুলো বর্ণনা করা হয়েছে।

কোর ইন্টারফেস

Tradefed-এ একটি নতুন রেজাল্ট রিপোর্টার সংজ্ঞায়িত করার জন্য, একটি ক্লাসকে অবশ্যই 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>