অ্যাসার্শনগুলি একটি পরীক্ষায় বিবৃতি যা একটি শর্ত সত্য কিনা তা পরীক্ষা করে — যাচাই করে যে প্রকৃত ফলাফল প্রত্যাশিত ফলাফলের সাথে মেলে। এগুলি কীভাবে পরীক্ষা পাস বা ব্যর্থতা নির্ধারণ করে তার মূল: যদি একটি অ্যাসার্শন ব্যর্থ হয়, পরীক্ষা ব্যর্থ হয়।
অ্যাসার্শনগুলি কী করে
An ASSERTION checks that something is as expected:
→ "assert that the actual value EQUALS the expected value"
→ if TRUE → the assertion passes; if FALSE → the assertion FAILS → the TEST FAILS
→ Assertions are how a test VERIFIES behavior (the "check" part of a test).
সাধারণ অ্যাসার্শনের ধরনগুলি
// equality
expect(result).toBe(5); // strict equality
expect(obj).toEqual({ name: 'Ann' }); // deep/value equality (objects)
// truthiness / null
expect(value).toBeTruthy();
expect(value).toBeNull();
expect(value).toBeDefined();
// comparisons
expect(count).toBeGreaterThan(0);
expect(price).toBeLessThanOrEqual(100);
// collections / strings
expect(array).toContain('item');
expect(array).toHaveLength(3);
expect(text).toMatch(/pattern/); // regex
// errors
expect(() => risky()).toThrow(); // expect a function to throw
// negation
expect(value).not.toBe(null);
ভাল অ্যাসার্শনগুলি
✓ Assert the SPECIFIC expected outcome (clear what's being checked)
✓ Use the RIGHT matcher (toBe vs toEqual; specific > generic)
✓ Clear FAILURE messages (good assertions/matchers explain what failed)
✓ Don't over-assert (test one behavior) or under-assert (verify the actual result)
এটি কেন গুরুত্বপূর্ণ
অ্যাসার্শনগুলি বোঝা মৌলিক কারণ এগুলি যেভাবে পরীক্ষাগুলি আচরণ যাচাই করে তার মূল প্রক্রিয়া — পাস বা ব্যর্থতা নির্ধারণ করে — তাই এটি যেকোনো পরীক্ষা লেখার জন্য অপরিহার্য, অবশ্যই জানা উচিত এমন জ্ঞান।
একটি অ্যাসার্শন একটি শর্ত সত্য কিনা তা পরীক্ষা করে (সাধারণত যে একটি প্রকৃত ফলাফল একটি প্রত্যাশিত ফলাফলের সাথে মেলে), এবং এটি একটি পরীক্ষার "যাচাইকরণ" অংশ: যদি একটি অ্যাসার্শন পাস করে তো পরীক্ষা পাস করে, এবং যদি এটি ব্যর্থ হয় তো পরীক্ষা ব্যর্থ হয়।
অ্যাসার্শনগুলি ছাড়া, একটি পরীক্ষা আসলে কিছু যাচাই করে না — তাই সেগুলি বোঝা অর্থবহ পরীক্ষা লেখার জন্য মৌলিক।
সাধারণ অ্যাসার্শনের ধরনগুলি বোঝা — সমতা (কঠোর toBe বনাম গভীর/মান toEqual অবজেক্টের জন্য, একটি গুরুত্বপূর্ণ পার্থক্য), সত্যতা এবং null চেক, তুলনা, সংগ্রহ এবং স্ট্রিং চেক, ত্রুটি অ্যাসার্শন (যাচাই করা যে একটি ফাংশন নিক্ষেপ করে), এবং নেতিবাচন — অর্থপূর্ণ ব্যবহারিক জ্ঞান প্রয়োজন যা একটি পরীক্ষা যাচাই করা উচিত তা প্রকাশ করার জন্য।
ভাল অ্যাসার্শনের অনুশীলনগুলি বোঝা — নির্দিষ্ট প্রত্যাশিত ফলাফল অ্যাসার্ট করা (পরিষ্কার যে কী পরীক্ষা করা হয়), সঠিক মেচার ব্যবহার করা (যেমন অবজেক্ট তুলনার জন্য toEqual, toBe নয়), স্পষ্ট ব্যর্থতার বার্তা নিশ্চিত করা (যাতে একটি ব্যর্থ পরীক্ষা ব্যাখ্যা করে কী ভুল হয়েছে), এবং অ্যাসার্শনগুলির ভারসাম্য বজায় রাখা (একটি আচরণ পরীক্ষা করা, কিন্তু প্রকৃত ফলাফল যাচাই করা) — স্পষ্ট, কার্যকর পরীক্ষা লেখার প্রতিফলন।
যেহেতু অ্যাসার্শনগুলি কীভাবে প্রতিটি পরীক্ষা আচরণ যাচাই করে (মৌলিক পরীক্ষা অর্থপূর্ণ করে তোলে এমন মৌলিক চেক) এবং সেগুলি বোঝা — ধরনগুলি, সঠিক মেচার, এবং ভাল অনুশীলনগুলি — যেকোনো পরীক্ষা লেখার জন্য প্রয়োজনীয় যা প্রকৃতপক্ষে কিছু যাচাই করে, অ্যাসার্শনগুলি বোঝা অপরিহার্য, ভিত্তিগত পরীক্ষার জ্ঞান — পরীক্ষাগুলির মূল বিল্ডিং ব্লক, প্রত্যাশিত আচরণ প্রকাশ এবং যাচাইকরণের জন্য প্রয়োজনীয়, এবং পরীক্ষা লেখার জন্য মৌলিক যা অর্থপূর্ণভাবে সঠিকতা পরীক্ষা করে, পরীক্ষা লেখে এমন যে কাউকে জন্য একটি মৌলিক দক্ষতা।
