RSpec এ Custom Formatter তৈরি করার মাধ্যমে আপনি আপনার টেস্ট রান আউটপুট কাস্টমাইজ করতে পারেন, যেমন টেস্টের ফলাফল, পরিসংখ্যান বা অন্যান্য কাস্টম ডেটা প্রদর্শন। এটি একটি টেস্টিং রিপোর্ট তৈরি করতে সাহায্য করে যা আপনার টেস্ট প্রক্রিয়া বুঝতে বা বিশ্লেষণ করতে সহায়ক হতে পারে।
RSpec-এ একটি Custom Formatter তৈরি করার জন্য আপনাকে Formatter ক্লাসটি এক্সটেন্ড (extend) করতে হবে এবং RSpec টেস্ট রান করার সময় এই Formatter কাস্টমাইজড আউটপুট তৈরি করতে ব্যবহার করতে হবে।
Custom Formatter তৈরি
একটি Custom Formatter তৈরি করতে হলে আপনাকে কিছু পদক্ষেপ অনুসরণ করতে হবে। এখানে একটি উদাহরণ দেওয়া হলো।
১. Formatter ক্লাস তৈরি
প্রথমে একটি ক্লাস তৈরি করুন যা RSpec এর RSpec::Core::Formatters::BaseFormatter থেকে ইনহেরিট করবে। এতে আপনি কাস্টম আউটপুটের জন্য মেথডগুলি ডিফাইন করবেন।
# spec/formatters/custom_formatter.rb
require 'rspec/core/formatters/base_formatter'
class CustomFormatter < RSpec::Core::Formatters::BaseFormatter
def initialize(output)
super(output)
@test_count = 0
@failure_count = 0
end
def example_started(example)
@test_count += 1
end
def example_failed(example)
@failure_count += 1
end
def example_passed(example)
# Successful test can be handled here (optional)
end
def close
output.puts "Total Tests: #{@test_count}"
output.puts "Total Failures: #{@failure_count}"
output.puts "Tests Passed: #{@test_count - @failure_count}"
end
endএই উদাহরণে, আমরা একটি Custom Formatter তৈরি করেছি যা মোট টেস্ট সংখ্যা, ফেইল হওয়া টেস্টের সংখ্যা এবং পাস হওয়া টেস্টের সংখ্যা প্রদর্শন করবে।
২. Custom Formatter ব্যবহার
এখন আপনাকে RSpec রান করার সময় আপনার কাস্টম ফরম্যাটারটি ব্যবহার করতে হবে। এটি করতে আপনি --format অপশন ব্যবহার করবেন এবং আপনার কাস্টম ফরম্যাটার ফাইলটির পাথ দিতে হবে।
rspec --format CustomFormatter --out result.txtএখানে --format এর মাধ্যমে আপনার কাস্টম ফরম্যাটারটি নির্দেশ করা হয়েছে এবং --out অপশন ব্যবহার করে আউটপুটটিকে একটি ফাইলে সংরক্ষণ করা হয়েছে।
৩. RSpec কনফিগারেশন ফাইলে Formatter যুক্ত করা
আপনি যদি রবারি ইন্টারফেসের মাধ্যমে (CLI এর বাইরে) RSpec ফরম্যাটারটি ব্যবহার করতে চান, তবে এটি spec_helper.rb অথবা rails_helper.rb ফাইলে কনফিগার করে দিতে পারেন।
# spec/spec_helper.rb
RSpec.configure do |config|
config.add_formatter CustomFormatter
endএই কনফিগারেশনটি আপনার টেস্ট রান করার সময় স্বয়ংক্রিয়ভাবে কাস্টম ফরম্যাটার ব্যবহার করবে।
Custom Formatter এর সুবিধা
- বিশদ রিপোর্ট: আপনি কাস্টম ফরম্যাটারের মাধ্যমে টেস্টের ফলাফল, পাস ও ফেইল সংখ্যা, সময়, এবং আরও অনেক কিছু কাস্টম আউটপুট হিসেবে পেতে পারেন।
- বিশ্লেষণ সহজ করা: টেস্ট রিপোর্টটি আপনি নির্দিষ্টভাবে কাস্টমাইজ করতে পারেন যাতে আপনার দলের জন্য পরীক্ষার ফলাফল সহজে বিশ্লেষণ করা যায়।
- ডেটা সঞ্চয়: পরীক্ষার ফলাফল, ত্রুটি বা সতর্কতাগুলি ফাইলে রেকর্ড করে রেখে পরে ডেটা বিশ্লেষণ করা যায়।
সারাংশ
RSpec এ Custom Formatter তৈরি এবং ব্যবহার করে আপনি আপনার টেস্ট রান আউটপুট কাস্টমাইজ করতে পারেন। এটি আপনাকে কাস্টম রিপোর্ট তৈরি করার সুযোগ দেয়, যা আপনার টেস্ট ফলাফল বিশ্লেষণ এবং পর্যালোচনায় সহায়ক। একটি কাস্টম ফরম্যাটার তৈরি করতে RSpec::Core::Formatters::BaseFormatter ক্লাসটি ইনহেরিট করতে হয় এবং নির্দিষ্ট মেথডগুলো কাস্টমাইজ করতে হয় যেমন example_started, example_failed, এবং close।
Read more