Listeners টেস্টএনজির একটি গুরুত্বপূর্ণ বৈশিষ্ট্য যা টেস্টের জীবনচক্র (test life cycle) পর্যবেক্ষণ করার জন্য ব্যবহৃত হয়। এটি টেস্ট চলাকালীন বিভিন্ন ইভেন্ট (events) শুনতে এবং সেগুলির প্রতিক্রিয়া জানাতে সাহায্য করে। Listeners টেস্টের বিভিন্ন ধাপে কার্যকলাপ (activity) বা ইভেন্টের উপর নজর রাখতে পারে, যেমন টেস্ট শুরু হওয়া, টেস্ট সফল হওয়া বা ব্যর্থ হওয়া, টেস্টের পরে পরবর্তী কাজের পরিচালনা ইত্যাদি।
Listeners এর ধরণ
টেস্টএনজিতে কয়েক ধরনের Listeners রয়েছে যা বিভিন্ন ইভেন্টে কাজ করে:
- TestListenerAdapter: এই ক্লাসটি
ITestListenerইন্টারফেসের ডিফল্ট বাস্তবায়ন প্রদান করে, যা টেস্টের আগে, পরে এবং চলাকালীন বিভিন্ন ইভেন্টের উপর কাজ করে। - ISuiteListener: এটি টেস্ট স্যুটের শুরু এবং শেষ হওয়ার সময়ে ইভেন্টগুলির ওপর কাজ করে।
- IInvokedMethodListener: এটি প্রতিটি টেস্ট মেথডের আগের এবং পরের ইভেন্টের ওপর কাজ করে।
কেন প্রয়োজন Listeners?
Listeners ব্যবহারের মূল উদ্দেশ্য হলো টেস্ট এক্সিকিউশন (execution) নিয়ন্ত্রণে রাখা এবং ফলাফল সংগ্রহ করা। কিছু বিশেষ প্রয়োজনীয়তা নিচে দেওয়া হলো:
- টেস্টের জীবনচক্র মনিটরিং: Listeners টেস্টের বিভিন্ন ধাপে (যেমন টেস্ট শুরু, টেস্ট শেষ, টেস্ট সফল বা ব্যর্থ হওয়া) ইভেন্ট ট্র্যাক করে এবং রিপোর্ট তৈরি করে।
- ফলাফল সংগ্রহ: টেস্টের ফলাফলগুলি সংগ্রহ করে বিশেষভাবে কাস্টম রিপোর্ট তৈরি করতে সাহায্য করে। যেমন, টেস্টের কোনো নির্দিষ্ট কন্ডিশন পূর্ণ হলে বা ব্যর্থ হলে কোন নির্দিষ্ট কাজ করা।
- অ্যাকশন প্রি এবং পোস্ট টেস্ট: টেস্ট শুরু হওয়ার আগে বা পরে কোনো নির্দিষ্ট অ্যাকশন সম্পাদন করা, যেমন লোগিং বা ডাটাবেস ক্লিনআপ।
- টেস্টের স্কিপিং বা ফেলিওর ট্র্যাকিং: যদি কোনো টেস্ট ফেইল করে বা স্কিপ হয়ে যায়, সেক্ষেত্রে সংশ্লিষ্ট তথ্য সংগ্রহ করা এবং আরও বিশ্লেষণের জন্য ব্যবহৃত হতে পারে।
- কাস্টম রিপোর্টিং: টেস্টের ফলাফল থেকে কাস্টম রিপোর্ট তৈরি করা, যেমন HTML, XML বা JSON ফরম্যাটে।
Listeners এর মাধ্যমে টেস্টের কার্যক্রম আরও স্বয়ংক্রিয় এবং কার্যকরীভাবে পরিচালনা করা সম্ভব হয়, যা টেস্টিং প্রক্রিয়াকে দ্রুত ও নির্ভুল করে তোলে।