SQLite ট্র্যাকে টেস্ট করা

Exercism-এ নিজের SQLite অনুশীলনী কীভাবে টেস্ট করবেন তা শিখুন


আপনার SQLite অনুশীলনীর টেস্ট চালাতে এই ধাপগুলো অনুসরণ করুন:

  1. আপনার পছন্দের টার্মিনাল খুলুন।
  2. যে ডিরেক্টরিতে প্রাসঙ্গিক ${slug}_test.sql ফাইলটি আছে সেখানে যান। এখানে ${slug} হলো অনুশীলনীর নাম, যেখানে স্পেসের জায়গায় হাইফেন ব্যবহার করা হয় এবং সব অক্ষর ছোট হাতের হয়।
  3. নিচের কমান্ডটি চালান:
sqlite3 -bail < ${slug}_test.sql

এই কমান্ডটি একটি খালি ডেটাবেজ দিয়ে SQLite চালু করে, ${slug}_test.sql-এ উল্লেখিত টেস্টগুলো রান করে এবং এরপর বন্ধ হয়ে যায়। -bail নিশ্চিত করে যে অবৈধ কোডের ক্ষেত্রে কোড এক্সিকিউশন বন্ধ হয়ে যায়।

টেস্টের ফলাফল কনসোলে একটি টেবিল আকারে দেখানো হবে, যেখানে প্রতিটি টেস্টের বিবরণ, তার স্ট্যাটাস (যেমন "pass") এবং স্ট্যাটাস "fail" হলে একটি বার্তা থাকবে।

ডিবাগিং

ডিবাগ করার জন্য আপনি SELECT স্টেটমেন্ট ব্যবহার করতে পারেন। আউটপুট user_output.md-এ পাঠানো হবে এবং টেস্ট ফেল করলে ওয়েব-এডিটরে দেখানো হবে।

এক্সিকিউশনের বিস্তারিত

টেস্ট ফাইলটি (${slug}_test.sql) বেশ জটিল একটি স্ক্রিপ্ট। এটি কী করে তার একটি সংক্ষিপ্ত বিবরণ নিচে দেওয়া হলো।

  1. create_fixture.sql পড়ে টেবিল সেটআপ করে। এটি টেবিল তৈরি করে, তারপর বৈধ ডেটার জন্য data.csv এবং যেসব এন্ট্রি ফেল করা উচিত সেগুলোর জন্য error_data.csv থেকে মান দিয়ে টেবিলগুলো পূরণ করে। টেস্টের সময় শুধু সেই টেবিলগুলোই যাচাই করা হয়; অন্য টেবিলের পরিবর্তন উপেক্ষা করা হয়।
  2. ${slug}.sql ফাইল পড়ে সমাধানের কোড রান করে।
  3. টেস্ট কেস ও ফলাফল রাখার জন্য টেবিল তৈরি করে।
  4. সমাধান যে টেবিল বা টেবিলগুলো আপডেট করে, তার ডেটার ভিত্তিতে টেস্টের ফলাফল পূরণ করে।
  5. টেস্টের ফলাফল দেখায় (pass বা fail এবং ঐচ্ছিক বিস্তারিত)। এই CSV ফাইলগুলো বিভিন্ন পরিস্থিতি টেস্ট করার জন্য প্রয়োজনীয় ডেটা ধারণ করে।