প্রকল্প সম্পর্কে
Enzyme হল React-এর জন্য একটি JavaScript টেস্টিং ইউটিলিটি যা React কম্পোনেন্টের আউটপুট টেস্ট করা সহজ করে। এটি ডেভেলপারদের রেন্ডার করা আউটপুট ম্যানিপুলেট, ট্রাভার্স এবং কিছু উপায়ে রানটাইম সিমুলেট করতে দেয়। এর API-টি jQuery-এর DOM ম্যানিপুলেশন এবং ট্রাভার্সাল API-এর অনুকরণ করে স্বজ্ঞাত এবং নমনীয় হওয়ার জন্য ডিজাইন করা হয়েছে।
মূল ক্ষমতাসমূহ:
- শ্যালো রেন্ডারিং: একটি কম্পোনেন্ট এক লেভেল গভীরে রেন্ডার করে এবং DOM-এর প্রয়োজন ছাড়াই এটি কী রিটার্ন করে তা অ্যাসার্ট করে।
- ফুল DOM রেন্ডারিং (mount): একটি বাস্তব DOM পরিবেশে কম্পোনেন্ট রেন্ডার করে, লাইফসাইকেল মেথড, প্রপস পরিবর্তন এবং ইভেন্ট সিমুলেশন সমর্থন করে।
- স্ট্যাটিক রেন্ডারিং: কম্পোনেন্টগুলিকে স্ট্যাটিক HTML মার্কআপে রেন্ডার করে এবং ফলস্বরূপ কাঠামো বিশ্লেষণ করে।
অ্যাডাপ্টার: Enzyme-এর জন্য ব্যবহৃত React সংস্করণের সাথে মিলে যাওয়া একটি অ্যাডাপ্টার প্রয়োজন। অফিসিয়াল অ্যাডাপ্টারগুলি React 16.x, 15.x, 0.14.x এবং 0.13.x কভার করে। Preact এবং Inferno-এর জন্য থার্ড-পার্টি অ্যাডাপ্টার রয়েছে।
টেস্ট রানার সামঞ্জস্য: Enzyme টেস্ট রানার এবং অ্যাসারশন লাইব্রেরি সম্পর্কে নিরপেক্ষ। ডকুমেন্টেশন উদাহরণগুলি Mocha এবং Chai ব্যবহার করে, এবং Jest, Jasmine, should.js এবং expect-এর জন্য সহচর ম্যাচার লাইব্রেরি রয়েছে।
React Hooks: Enzyme React হুক সমর্থন করে, তবে শ্যালো রেন্ডারিংয়ে কিছু সীমাবদ্ধতা রয়েছে আপস্ট্রিম React শ্যালো রেন্ডারার সমস্যার কারণে (useEffect/useLayoutEffect কল হয় না, useCallback মেমোইজড হয় না)। React 16.8+ এর সাথে mount-এর জন্য, Enzyme simulate, setProps, setContext এবং invoke-এর মতো API-গুলিকে ReactTestUtils.act() দিয়ে মোড়ানো করে।
ইনস্টলেশন npm-এর মাধ্যমে, enzyme এবং উপযুক্ত অ্যাডাপ্টার ইনস্টল করা হয়। কনফিগারেশন টপ-লেভেল configure() API ব্যবহার করে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.