RSpec এর মৌলিক সেগমেন্ট হলো describe, context, এবং it ব্লক, যা সফটওয়্যার টেস্টিংয়ের প্রধান কাঠামো তৈরি করে। এগুলো ব্যবহার করে আপনি আপনার কোডের কার্যকারিতা এবং আচরণ পরীক্ষা করতে পারেন। চলুন, এগুলোর ব্যাখ্যা দেখি:
১. describe ব্লক
describe ব্লকটি মূলত একটি গ্রুপ তৈরি করে যেখানে আপনি একটি নির্দিষ্ট ফিচার, ক্লাস, মেথড বা ফাংশনের আচরণ বর্ণনা করেন। এটি টেস্টের প্রাথমিক স্তম্ভ, যা সমস্ত টেস্টগুলোকে একত্রিত করে।
Sintax:
describe "ফিচারের নাম বা মেথড" do
# টেস্ট কেস এখানে থাকবে
endউদাহরণ:
describe "একটি ক্যালকুলেটর" do
it "যে দুটি সংখ্যার যোগফল সঠিকভাবে বের করে" do
expect(2 + 3).to eq(5)
end
end২. context ব্লক
context ব্লকটি একটি বিশেষ ধরনের describe ব্লক, যা ব্যবহারকারীদের কোডের আচরণ সম্পর্কিত বিভিন্ন শর্ত বা অবস্থার অধীনে টেস্ট কেসগুলো নির্ধারণ করতে সাহায্য করে। এটি বিশেষভাবে টেস্টের বিভিন্ন শর্ত বা পরিস্থিতি ব্যাখ্যা করতে ব্যবহৃত হয়।
context ব্যবহার করলে টেস্টগুলো আরও পরিষ্কার এবং সহজবোধ্য হয়, কারণ এটি শর্তাধীন অবস্থা বা ব্যবহারের ভিন্নতা বর্ণনা করতে সাহায্য করে।
Sintax:
context "শর্তের বর্ণনা" do
# টেস্ট কেস এখানে থাকবে
endউদাহরণ:
describe "একটি ক্যালকুলেটর" do
context "যখন দুটি ধনাত্মক সংখ্যা যোগ করা হয়" do
it "যে যোগফল সঠিক হবে" do
expect(2 + 3).to eq(5)
end
end
context "যখন দুটি নেতিবাচক সংখ্যা যোগ করা হয়" do
it "যে যোগফল সঠিক হবে" do
expect(-2 + -3).to eq(-5)
end
end
end৩. it ব্লক
it ব্লকটি একটি নির্দিষ্ট পরীক্ষার কাজ সম্পাদন করে। এটি একটি বিশেষ আচরণ বা পরীক্ষার শর্ত নির্ধারণ করে এবং আপনি যে ফিচারটি পরীক্ষা করছেন তা যাচাই করতে ব্যবহৃত হয়।
it ব্লকটি সাধারণত একটি বর্ণনামূলক বাক্য হিসেবে লেখা হয়, যা একটি নির্দিষ্ট পরীক্ষা বা আচরণ ব্যাখ্যা করে।
Sintax:
it "বর্ণনা" do
# পরীক্ষার কোড
endউদাহরণ:
describe "একটি ক্যালকুলেটর" do
it "যে দুটি সংখ্যার যোগফল সঠিকভাবে বের করে" do
expect(2 + 3).to eq(5)
end
endএকত্রে ব্যবহার
এই তিনটি ব্লক একত্রে ব্যবহার করে একটি পূর্ণাঙ্গ পরীক্ষা লেখা যায়। উদাহরণস্বরূপ, নিচে একটি সাধারণ ক্যালকুলেটরের টেস্ট কোড:
describe "একটি ক্যালকুলেটর" do
context "যখন দুটি ধনাত্মক সংখ্যা যোগ করা হয়" do
it "যে যোগফল সঠিকভাবে বের হবে" do
expect(2 + 3).to eq(5)
end
end
context "যখন দুটি নেতিবাচক সংখ্যা যোগ করা হয়" do
it "যে যোগফল সঠিকভাবে বের হবে" do
expect(-2 + -3).to eq(-5)
end
end
endএই কোডে:
- describe ব্লকটি ক্যালকুলেটর ফিচারের জন্য একটি সাধারণ বর্ণনা প্রদান করছে।
- context ব্লক দুটি আলাদা শর্তের অধীনে টেস্টগুলো সন্নিবেশ করেছে।
- it ব্লক প্রতিটি শর্তের অধীনে নির্দিষ্ট আচরণ বা পরীক্ষার জন্য ব্যবহৃত হয়েছে।
সারাংশ
- describe ব্লক: একটি কোডের অংশ বা ফিচারের পরীক্ষা করার জন্য ব্যবহৃত হয়।
- context ব্লক: একটি নির্দিষ্ট শর্ত বা পরিস্থিতির অধীনে টেস্ট করার জন্য ব্যবহৃত হয়।
- it ব্লক: একটি নির্দিষ্ট আচরণ বা পরীক্ষার শর্ত যাচাই করার জন্য ব্যবহৃত হয়।
এই তিনটি ব্লক একত্রে RSpec এর কার্যকর টেস্টিং কাঠামো তৈরি করতে সাহায্য করে, যা কোডের কার্যকারিতা এবং আচরণ যাচাই করতে খুবই কার্যকর।
Read more