byebug এবং pry এর মাধ্যমে Test Debugging

Debugging RSpec Tests (RSpec টেস্ট ডিবাগিং) - আরএসপেক (RSpec) - Computer Programming

340

byebug এবং pry দুটি জনপ্রিয় Ruby gem যা ডিবাগিং প্রক্রিয়া সহজ এবং কার্যকর করতে ব্যবহৃত হয়। তারা টেস্ট লেখার সময় বা কোড রান করার সময় প্রবাহকে থামাতে এবং ভেরিয়েবলগুলি পরীক্ষা করতে সাহায্য করে। Test debugging হল একটি গুরুত্বপূর্ণ প্রক্রিয়া যা কোডের ত্রুটি খুঁজে বের করতে সহায়ক এবং এই দুটি টুল ডেভেলপারদের সাহায্য করে ত্রুটি সনাক্ত করতে এবং কোডের আচরণ বুঝতে।


১. byebug এর মাধ্যমে Test Debugging

byebug হল একটি শক্তিশালী ডিবাগার যা Ruby কোডের মধ্যে ব্রেকপয়েন্ট সেট করতে এবং কোডের চলাচল থামাতে ব্যবহৃত হয়। এটি ডেভেলপারদের কোডের ভেতরে প্রবাহ পরীক্ষা করতে সহায়ক। byebug সাধারণত কোডের মধ্যে কোথাও binding.byebug ব্যবহার করা হয় যেখানে আপনি টেস্ট চলাকালে কোডের অবস্থা পরীক্ষা করতে চান।

byebug ইনস্টলেশন

byebug ব্যবহার করতে হলে, প্রথমে আপনাকে এটি ইনস্টল করতে হবে। Gemfile-এ এটি যোগ করুন:

group :development, :test do
  gem 'byebug'
end

তারপর, bundle install চালান:

bundle install

byebug ব্যবহার

টেস্টের মধ্যবর্তী কোন স্থানে ব্রেকপয়েন্ট সেট করতে, আপনি binding.byebug ব্যবহার করতে পারেন। এর মাধ্যমে কোড থেমে যাবে এবং আপনি ডিবাগিং করতে পারবেন।

উদাহরণ:

RSpec.describe User do
  it "should have a valid email address" do
    user = User.new(name: "John", email: "invalid_email")
    binding.byebug  # কোড এখানে থামবে
    expect(user.valid?).to be_falsey
  end
end

এখানে, binding.byebug যোগ করার ফলে কোড যখন এই লাইনে পৌঁছাবে, তখন আপনি টার্মিনালে ইনপুট নিতে পারবেন এবং ভেরিয়েবলগুলি চেক করতে পারবেন।

byebug কমান্ডসমূহ

  • n: পরবর্তী লাইনটি চালান (next line).
  • c: কোড চালিয়ে যান (continue).
  • s: ফাংশন/মেথডে প্রবেশ করুন (step into).
  • p variable: ভেরিয়েবলের মান দেখুন (print value).
  • q: ডিবাগিং সেশন থেকে বেরিয়ে আসুন (quit).

এগুলি ব্যবহার করে আপনি কোডের চলাচল এবং ভেরিয়েবলের মান পরীক্ষা করতে পারবেন।


২. pry এর মাধ্যমে Test Debugging

pry একটি আরও উন্নত Ruby ডিবাগিং টুল যা byebug এর থেকে অনেক বেশি ইন্টারঅ্যাকটিভ। এটি একটি রিচ ইন্টারপ্রেটার, যা ডিবাগিং, কোড ইনস্পেকশন এবং প্রোগ্রাম স্টেট পরীক্ষা করার জন্য ব্যবহার করা হয়। pry ডিবাগিং সেশনে ভেরিয়েবল পরীক্ষা করতে এবং কোডের প্রবাহ নিয়ন্ত্রণ করতে সাহায্য করে।

pry ইনস্টলেশন

প্রথমে, pry এবং pry-byebug ইনস্টল করতে হবে:

group :development, :test do
  gem 'pry'
  gem 'pry-byebug'
end

তারপর, bundle install চালান:

bundle install

pry ব্যবহার

pry ব্যবহার করতে, আপনি আপনার কোডে binding.pry লিখতে পারেন, যেখানে আপনি কোড থামাতে চান এবং ডিবাগিং শুরু করতে চান।

উদাহরণ:

RSpec.describe User do
  it "should have a valid email address" do
    user = User.new(name: "John", email: "invalid_email")
    binding.pry  # কোড এখানে থামবে
    expect(user.valid?).to be_falsey
  end
end

এখানে, binding.pry এর মাধ্যমে কোড থেমে যাবে এবং আপনি ইন্টারেকটিভভাবে ভেরিয়েবলগুলির মান পরীক্ষা করতে পারবেন।

pry কমান্ডসমূহ

  • exit: Pry সেশন বন্ধ করুন এবং কোড চালিয়ে যান।
  • next: পরবর্তী লাইনটি চালান।
  • step: মেথড/ফাংশনে প্রবেশ করুন।
  • continue: কোড চালিয়ে যান।
  • ls: বর্তমান স্কোপের সমস্ত ভেরিয়েবল দেখুন।
  • cd: অন্য অবজেক্টের স্কোপে যান।
  • show-method: একটি মেথডের কোড দেখুন।

এছাড়াও, আপনি pry সেশনে কাস্টম কমান্ডও লিখতে পারেন এবং ভেরিয়েবলগুলির পরিবর্তনও করতে পারেন।


৩. byebug এবং pry এর তুলনা

ফিচারbyebugpry
ইন্টারঅ্যাকটিভসীমিত (কেবল কমান্ড লাইন)পূর্ণ ইন্টারঅ্যাকটিভ Ruby REPL
ডিবাগিং প্রক্রিয়াসহজ, লাইন-বাই-লাইন ডিবাগিংআরও শক্তিশালী, স্কোপ পরিবর্তন, মেথড ইন্সপেকশন
কাস্টমাইজেশনকম কাস্টমাইজেশনঅনেক বেশি কাস্টমাইজেশন সুবিধা (কাস্টম কমান্ড)
ফাংশনালিটিমেথড কল ট্র্যাকিং, ব্রেকপয়েন্টস্কোপ এক্সপ্লোর, কোড রান এবং ফাংশন ডেফিনেশন

৪. Test Debugging টিপস

  1. binding.byebug বা binding.pry ব্যবহার করে কোড থামান: আপনার কোডের কোন অংশে সমস্যা হচ্ছে তা নির্ধারণ করতে প্রোগ্রামের মধ্যে ব্রেকপয়েন্ট ব্যবহার করুন।
  2. ভেরিয়েবলের মান চেক করুন: p বা ls কমান্ড ব্যবহার করে ভেরিয়েবলের মান পরীক্ষা করুন।
  3. স্টেপ থ্রু করুন: next বা step ব্যবহার করে কোডের প্রতিটি অংশ একে একে চালিয়ে দেখুন, যাতে সমস্যা কোথায় ঘটছে বুঝতে পারেন।
  4. আউটপুট দেখতে puts ব্যবহার করুন: কখনও কখনও puts ব্যবহার করে ইনপুট এবং আউটপুট দেখাও সাহায্য করতে পারে।
  5. কোডের লগ আউটপুট পর্যবেক্ষণ করুন: কোডের বিভিন্ন অংশে puts যোগ করে অ্যাপ্লিকেশনের চলাচল এবং ভেরিয়েবলের মান ট্র্যাক করুন।

সারাংশ

  • byebug এবং pry হল দুটি জনপ্রিয় টুল যা Ruby কোড ডিবাগিং সহজ করে তোলে।
  • byebug বেশি ব্যবহার হয় যখন সরল ব্রেকপয়েন্ট এবং স্টেপ-বাই-স্টেপ ডিবাগিং করতে হয়, যেখানে pry আরও ইন্টারঅ্যাকটিভ এবং স্কোপ পরিবর্তন, মেথড ইন্সপেকশন, এবং কাস্টম কমান্ডের জন্য উপযুক্ত।
  • এই দুটি টুল ব্যবহার করে আপনি আপনার কোডের ত্রুটি চিহ্নিত করতে পারবেন এবং আরও কার্যকরীভাবে ডিবাগ করতে পারবেন।
Content added By
Promotion

Are you sure to start over?

Loading...