Common Matchers: eq, be_truthy, be_falsey, include, match

Matchers (ম্যাচারস) - আরএসপেক (RSpec) - Computer Programming

330

RSpec-এ বিভিন্ন ম্যাচার ব্যবহার করা হয়, যা কোডের আচরণ পরীক্ষা করতে সহায়ক। নিচে কিছু সাধারণ ম্যাচারের ব্যাখ্যা দেওয়া হলো:


১. eq

eq ম্যাচারটি দুইটি মানের সমতা পরীক্ষা করতে ব্যবহৃত হয়। এটি == ব্যবহার করে মানের সমতা চেক করে।

উদাহরণ:

expect(5).to eq(5)  # পাস হবে কারণ ৫ সমান ৫
expect(5).to eq(3)  # ফেইল হবে কারণ ৫ সমান ৩ নয়

২. be_truthy

be_truthy ম্যাচারটি পরীক্ষা করে যে কোনো মান সত্যি (truthy) কি না। রুবিতে, false এবং nil ছাড়া সবকিছুই সত্যি। তাই, এই ম্যাচারটি false বা nil না হলে পাস হবে।

উদাহরণ:

expect(true).to be_truthy   # পাস হবে কারণ true সত্যি
expect(1).to be_truthy      # পাস হবে কারণ ১ সত্যি
expect(nil).to be_truthy    # ফেইল হবে কারণ nil সত্যি নয়

৩. be_falsey

be_falsey ম্যাচারটি পরীক্ষা করে যে কোনো মান মিথ্যা (falsey) কি না। রুবিতে, false এবং nil ছাড়া সবকিছুই মিথ্যা নয়। তাই, এই ম্যাচারটি false বা nil হলে পাস হবে।

উদাহরণ:

expect(false).to be_falsey  # পাস হবে কারণ false মিথ্যা
expect(nil).to be_falsey    # পাস হবে কারণ nil মিথ্যা
expect(true).to be_falsey   # ফেইল হবে কারণ true মিথ্যা নয়

৪. include

include ম্যাচারটি পরীক্ষা করে যে একটি কোলেকশন (যেমন অ্যারে বা স্ট্রিং) নির্দিষ্ট কোনো মান বা উপাদান অন্তর্ভুক্ত করে কি না।

উদাহরণ (অ্যারে):

expect([1, 2, 3]).to include(2)  # পাস হবে কারণ ২ অ্যারেতে অন্তর্ভুক্ত
expect([1, 2, 3]).to include(4)  # ফেইল হবে কারণ ৪ অ্যারেতে নেই

উদাহরণ (স্ট্রিং):

expect("Hello world").to include("Hello")  # পাস হবে কারণ স্ট্রিংটি "Hello" অন্তর্ভুক্ত করে
expect("Hello world").to include("Ruby")   # ফেইল হবে কারণ স্ট্রিংটি "Ruby" অন্তর্ভুক্ত করে না

৫. match

match ম্যাচারটি একটি স্ট্রিংকে একটি রেগুলার এক্সপ্রেশন (regex) প্যাটার্নের সাথে মিলিয়ে পরীক্ষা করে।

উদাহরণ:

expect("hello").to match(/^h/)   # পাস হবে কারণ "hello" শব্দটি 'h' দিয়ে শুরু
expect("hello").to match(/lo$/)  # পাস হবে কারণ "hello" শব্দটি 'lo' দিয়ে শেষ
expect("hello").to match(/^a/)   # ফেইল হবে কারণ "hello" শব্দটি 'a' দিয়ে শুরু না

সারাংশ

  • eq: দুইটি মানের সমতা পরীক্ষা করে (== ব্যবহার করে)।
  • be_truthy: মানটি সত্যি কি না পরীক্ষা করে (যেখানে false এবং nil বাদে সব কিছু সত্যি)।
  • be_falsey: মানটি মিথ্যা কি না পরীক্ষা করে (false অথবা nil মিথ্যা)।
  • include: কোনো কোলেকশনে একটি নির্দিষ্ট মান বা উপাদান অন্তর্ভুক্ত আছে কিনা তা পরীক্ষা করে।
  • match: একটি স্ট্রিং একটি রেগুলার এক্সপ্রেশন প্যাটার্নের সাথে মিলছে কিনা পরীক্ষা করে।

এই ম্যাচারগুলি RSpec-কে আরও শক্তিশালী এবং ব্যবহারযোগ্য করে তোলে, এবং কোডের পরীক্ষা করা সহজ ও পরিষ্কার করে।

Content added By
Promotion

Are you sure to start over?

Loading...