প্রকল্প সম্পর্কে
রিয়্যাক্ট টেস্টিং লাইব্রেরি (RTL) হলো রিয়্যাক্টের জন্য একটি হালকা টেস্টিং ইউটিলিটি, যা সফটওয়্যার যেভাবে বাস্তবে ব্যবহৃত হয় তার মতো টেস্ট লিখতে উৎসাহিত করে ভালো টেস্টিং অনুশীলন প্রচার করে। এটি `react-dom/test-utils`-এর উপর ভিত্তি করে তৈরি এবং সহজ, সম্পূর্ণ DOM টেস্টিং ইউটিলিটি প্রদান করে। এর প্রধান নির্দেশক নীতি হলো: "আপনার টেস্ট যত বেশি আপনার সফটওয়্যারের ব্যবহারের পদ্ধতির মতো হবে, তারা তত বেশি আত্মবিশ্বাস দিতে পারবে।"
মূল বৈশিষ্ট্যগুলোর মধ্যে রয়েছে:
- **ব্যবহারকারী-কেন্দ্রিক কোয়েরি**: `getBy`, `queryBy` এবং `findBy` ফাংশন ব্যবহার করে DOM এলিমেন্টের সাথে মিথস্ক্রিয়া করা যেভাবে একজন ব্যবহারকারী করে, সহ রেগেক্সপ সিলেক্টর সমর্থন।
- **রক্ষণাবেক্ষণযোগ্য টেস্ট উৎসাহিত করে**: বাস্তবায়নের বিবরণের পরিবর্তে কার্যকারিতার উপর ফোকাস করে, তাই রিফ্যাক্টরিং করলেও টেস্ট ভাঙে না।
- **রিয়্যাক্ট হুক এবং ক্লাসের সাথে কাজ করে**: কম্পোনেন্ট বাস্তবায়ন যাই হোক না কেন টেস্ট একই থাকে।
- **হালকা**: শুধুমাত্র সেই পদ্ধতিগুলো প্রকাশ করে যা ভালো টেস্টিং অনুশীলনকে উৎসাহিত করে।
ইনস্টলেশনের জন্য `@testing-library/react` এবং, সংস্করণ ১৬ থেকে শুরু করে, `@testing-library/dom` প্রয়োজন। সংস্করণ ১৩+ এর জন্য React v18 প্রয়োজন। কাস্টম জেস্ট ম্যাচারদের জন্য `@testing-library/jest-dom` ইনস্টল করারও পরামর্শ দেওয়া হয়।
মৌলিক ব্যবহারে `render` দিয়ে কম্পোনেন্ট রেন্ডার করা, `fireEvent` দিয়ে ইভেন্ট সিমুলেট করা এবং `screen` এর মাধ্যমে এলিমেন্ট কোয়েরি করা জড়িত। জটিল উদাহরণগুলো Mock Service Worker (MSW) দিয়ে API কল মক করে লগইন ফ্লো এবং এরর হ্যান্ডলিং দেখায়।
RTL টেস্টিং লাইব্রেরি পরিবারের অংশ, যার মধ্যে পুনর্ব্যবহারযোগ্য হুকের জন্য React Hooks Testing Library অন্তর্ভুক্ত। এটি ব্যাপকভাবে ব্যবহৃত হয় এবং বিপুল সংখ্যক অবদানকারীর একটি সম্প্রদায় দ্বারা রক্ষণাবেক্ষণ করা হয়।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.