R ট্র্যাকে টেস্টিং

Exercism-এ নিজের R অনুশীলনীগুলো কীভাবে টেস্ট করবেন, তা জানুন।


এই ট্র্যাকের টেস্টগুলো testthat প্যাকেজ ব্যবহার করে।

প্যাকেজটি ইনস্টল করতে, শুধু R খুলে চালান:

install.packages("testthat")

প্যাকেজটি সফলভাবে ইনস্টল হয়েছে কিনা, তা চালিয়ে যাচাই করতে পারেন:

library(testthat)

প্রতিটি সমস্যার জন্য test_<exercise-name>.R নামের একটি স্ক্রিপ্ট থাকবে (যেমন test_hello-world.R)।

কোনো অনুশীলনীর টেস্ট চালাতে, শুধু এই R স্ক্রিপ্টটি চালান।

RStudio-তে এটা আরও সহজ: টেস্ট স্ক্রিপ্টটি খুলুন, তারপর Source প্যানের উপরের ডান দিকে থাকা "Source"-এ ক্লিক করুন। এটি টেস্ট স্ক্রিপ্টের প্রথম লাইনে থাকা source কমান্ডের মাধ্যমে আপনার সমাধান কোড লোড করবে, এবং এরপর থাকা testthat টেস্টগুলোর সেটটি চালাবে।

তবে মনে রাখবেন, টেস্ট স্ক্রিপ্টের প্রথম লাইনে থাকা source() কমান্ডটি তখনই কাজ করবে যদি আপনার সমাধান স্ক্রিপ্টটি (<exercise-name>.R) আপনার ওয়ার্কিং ডিরেক্টরিতে থাকে। যদি তা না হয়, তাহলে আপনাকে হয়:

  • আপনার ওয়ার্কিং ডিরেক্টরি বদলাতে হবে, যেমন setwd('exercism/r/hello-world/'), অথবা
  • টেস্ট স্ক্রিপ্টের প্রথম লাইনটি বদলাতে হবে, যেমন source('exercism/r/hello-world/hello-world.R')

আপনি চাইলে কমান্ড লাইন থেকেও টেস্ট চালাতে পারেন: Rscript path_to_exercise_directory/test_<exercise-name>.R (যেমন Rscript hello-world/test_hello-world.R)

এই টেস্টগুলো চালানোর আরেকটি সুবিধাজনক উপায় হলো testthat-এর auto_test ফাংশন ব্যবহার করা। যেহেতু Exercism-এর কোড ও টেস্ট একই ফোল্ডারে থাকে, তাই code_path ও test_path দুটি প্যারামিটারের জন্যই এই একই পাথ ব্যবহার করুন। auto_test() চালানোর পর, আপনি যখনই অনুশীলনীর R কোড আপডেট বা সেভ করবেন, তখনই অনুশীলনীর টেস্টগুলো স্বয়ংক্রিয়ভাবে চালানো হবে। এতে আপনার সমাধান নিয়ে কাজ করার সময় দ্রুত ইটারেশনে সুবিধা হয়।