প্রকল্প সম্পর্কে
Sinon.JS একটি জনপ্রিয় জাভাস্ক্রিপ্ট টেস্টিং লাইব্রেরি যা ইউনিট টেস্ট লেখার জন্য একটি বিস্তৃত টুলসেট প্রদান করে। লাইব্রেরিটি তিনটি মূল ধারণা অফার করে: spies, stubs এবং mocks। Spies ফাংশনগুলিকে কল এবং আর্গুমেন্ট রেকর্ড করার জন্য মোড়ানো করে, stubs নিয়ন্ত্রিত আচরণ দিয়ে ফাংশন প্রতিস্থাপন করে, এবং mocks প্রত্যাশিত আচরণ যাচাই করতে উভয়কে একত্রিত করে।
লাইব্রেরিটি স্বতন্ত্র এবং টেস্ট ফ্রেমওয়ার্ক-নিরপেক্ষ হওয়ার জন্য ডিজাইন করা হয়েছে, অর্থাৎ এটি Mocha, Jasmine, QUnit বা Jest-এর মতো যেকোনো টেস্টিং ফ্রেমওয়ার্কের সাথে ব্যবহার করা যেতে পারে। এটি কোনো গ্লোবাল দূষণ না করা, ব্যবহারের সহজতা, ন্যূনতম ইন্টিগ্রেশন প্রয়োজনীয়তা এবং যেকোনো টেস্টিং ফ্রেমওয়ার্কের সাথে নির্বিঘ্ন এমবেডিং লক্ষ্য করে।
ইনস্টলেশন npm (`npm install sinon`) এর মাধ্যমে বা প্রকল্প হোমপেজে উপলব্ধ ব্রাউজার বিল্ডের মাধ্যমে সহজবোধ্য। লাইব্রেরিটি সহজ ইন্টিগ্রেশনের জন্য npm-ভিত্তিক CDN-ও সমর্থন করে।
মূল বৈশিষ্ট্যগুলির মধ্যে রয়েছে:
- Spies: ফাংশন কল, আর্গুমেন্ট এবং রিটার্ন মান রেকর্ড করে
- Stubs: নিয়ন্ত্রিত আচরণ দিয়ে ফাংশন প্রতিস্থাপন করে
- Mocks: প্রত্যাশিত আচরণ যাচাই করতে spies এবং stubs একত্রিত করে
- ফেক টাইমার: setTimeout, setInterval, Date ইত্যাদির জন্য প্রস্তুত-ব্যবহারযোগ্য ফেক
- কোনো গ্লোবাল দূষণ নেই: পরিষ্কার API যা গ্লোবাল নেমস্পেস দূষিত করে না
প্রকল্পটি BSD-3 লাইসেন্স অনুসরণ করে এবং সম্প্রদায়ের অবদানের সাথে সক্রিয়ভাবে রক্ষণাবেক্ষণ করা হয়। এটি মাইগ্রেশনের সময় পাবলিক API রক্ষা করতে artifact-first কন্ট্রাক্ট টেস্ট ব্যবহার করে। `lib/` ডিরেক্টরিতে উৎপন্ন বিল্ড আউটপুট থাকে এবং এটি রিপোজিটরিতে কমিট করা হয় না; ডেভেলপাররা `npm run build` ব্যবহার করে স্থানীয়ভাবে এটি পুনরায় তৈরি করতে পারেন।
Sinon.JS জাভাস্ক্রিপ্ট ইকোসিস্টেমে নির্ভরযোগ্য, রক্ষণাবেক্ষণযোগ্য ইউনিট টেস্ট লেখার জন্য ব্যাপকভাবে ব্যবহৃত হয়। এর পরিষ্কার API এবং ফ্রেমওয়ার্ক-নিরপেক্ষ ডিজাইন এটিকে বিভিন্ন টেস্টিং পরিবেশে কাজ করা ডেভেলপারদের জন্য একটি বহুমুখী পছন্দ করে তোলে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.