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

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

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

Tradefed-এ নতুন ফলাফল রিপোর্টার সংজ্ঞায়িত করতে, একটি ক্লাসকে অবশ্যই ITestInvocationListener ইন্টারফেস প্রয়োগ করতে হবে যা ইনভোকেশনের বিভিন্ন স্টেজ গ্রহণ ও ম্যানেজ করার অনুমতি দেয়:

  • invocationStarted
  • invocationEnded
  • invocationFailed

ফলাফল রিপোর্টাররা প্রতিটি টেস্ট রানের বিভিন্ন ধাপও ম্যানেজ করেন:

  • testRunStarted
  • testStarted
  • testFailed বা testIgnored
  • testEnded
  • testRunFailed
  • testRunEnded

এইসব ইভেন্টের কথা বিবেচনা করে, ফলাফল রিপোর্টারদের দুটি প্রধান ধরন রয়েছে, সেগুলি হল:

  • শুধুমাত্র চূড়ান্ত সম্পূর্ণ ফলাফল রিপোর্ট করার ব্যাপারে যত্নশীল।
  • আংশিক ফলাফলের উপর অ্যাকশন নিন।

ফাইনাল সম্পূর্ণ ফলাফল রিপোর্ট করা ফলাফল রিপোর্টার

ফলাফল পাওয়া এক্সটার্নাল পরিষেবার সাথে ইন্টার‌্যাক্ট করার ক্ষেত্রে এই ধরনের কেস সবচেয়ে বেশি দেখা যায়। রিপোর্টার ফলাফলগুলি শুধু গ্রহণ করে ও জমা করে এবং তারপরে invocationEnded-এ ফলাফল এন্ড-পয়েন্টে সেগুলি সব পাঠায়।

আমরা সাজেস্ট করি যে সেইসব রিপোর্টাররা CollectingTestListener-এর পরিবর্তে বেস ইন্টারফেস এক্সটেন্ড করুন যাতে invocationEnded পর্যন্ত সেভ করা ও স্টোর করা ফলাফল আবার প্রয়োগ করতে না হয়।

আংশিক ফলাফল রিপোর্ট করা ফলাফল রিপোর্টার

এই ধরনের স্ট্রিম সাধারণত ফলাফল স্ট্রিম করার জন্য ব্যবহার করা হয়, যখন ফলাফল পাওয়া যায় এবং সাথে সাথে অন্য কোনও জায়গায় পুশ করা হয়। যেমন, কনসোলে ফলাফল লগ করা রিপোর্টার এই ধরনের হবে।

ইভেন্টে কোন ধরনের হ্যান্ডলিং প্রয়োজন, তার উপর ভিত্তি করে এই ধরনটি নির্দিষ্ট করা হয়, তাই সাধারণত বেস ইন্টারফেস প্রয়োগ করার সাজেশন দেওয়া হয়।

XML কনফিগারেশন

অবজেক্ট ট্যাগ হল result_reporter। যেমন:

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