Objective-C ট্র্যাকে টেস্ট করা

Exercism-এ আপনার Objective-C অনুশীলনীগুলো কীভাবে টেস্ট করবেন তা জানুন


Exercism শুধু একটি টেস্ট ফাইল ডাউনলোড করবে। অনুশীলনীর সাথে সম্পর্কিত হেডার ও সোর্স ফাইল আপনাকে নিজে হাতে তৈরি করতে হবে। টেস্ট ফাইল, হেডার ফাইল (.h) এবং সোর্স ফাইল (.m) দিয়ে একটি Xcode প্রজেক্ট ফাইল তৈরি করতে হবে। অথবা, নিচে বর্ণিত একটি টেস্ট রানার ইউটিলিটি ব্যবহার করতে পারেন।

Xcode-এ প্রজেক্ট তৈরি করা

  • Xcode চালু করুন এবং একটি নতুন প্রজেক্ট তৈরি করুন।
  • OS X > Application এবং তারপর Command Line Tool নির্বাচন করুন।
  • Next-এ ক্লিক করুন এবং প্রজেক্টের নাম হিসেবে ExerciseName ব্যবহার করা ভালো।
  • Next-এ ক্লিক করুন এবং exercism-এর exercise ডিরেক্টরিতে প্রজেক্টটি সেভ করুন।
  • এখন প্রজেক্ট তৈরি হয়ে গেলে Editor > Add Target-এ ক্লিক করুন।
  • OS X > Test নির্বাচন করুন এবং OS X Unit Testing Bundle নির্বাচন করুন।
  • টার্গেটের নাম দিন ExerciseName Tests।
  • বাম পাশের প্যানে (যাকে navigator বলা হয়), Project navigator খুলুন এবং ExerciseName Tests ফোল্ডারটি প্রসারিত করে ExerciseName_Tests.m ফাইলটি খুলুন।
  • এর ভেতরের সবকিছু exercism থেকে পাওয়া টেস্ট ফাইল দিয়ে প্রতিস্থাপন করুন।
  • সেই ফাইলে, "test_suite"-এর সব জায়গায় "ExerciseName_Tests" বসান।
  • ডান পাশের প্যানে File Template library-তে যান (অথবা CTRL+OPTION+CMD+1 ব্যবহার করুন) এবং Project navigator-এর ExerciseName_Tests ফোল্ডারে Cocoa Class টেমপ্লেটটি টেনে আনুন।
  • এর নাম দিন ExerciseName এবং টার্গেট হিসেবে ExerciseName Tests নির্বাচন করুন।
  • এখন আপনার ExerciseName_Tests ডিরেক্টরিতে দুটি নতুন ফাইল থাকবে: ExerciseName.h এবং ExerciseName.m।
  • Project navigator-এ আপনার প্রজেক্টে ক্লিক করুন।
  • targets তালিকায় ExerciseName Tests-এ ক্লিক করুন।
  • এডিটরের নেভিগেশন অংশে Build Phases নির্বাচন করুন।
  • নিশ্চিত করুন যে আপনার দুটি .m ফাইলই compile sources তালিকায় আছে।
  • Test navigator-এ যেতে CMD+5 ব্যবহার করুন।
  • ExerciseName Tests নামের বান্ডলটিতে রাইট ক্লিক করুন এবং Enable ExerciseName_Tests-এ ক্লিক করুন।
  • Test navigator-এ বান্ডলটির উপর হোভার করলে যে ডানমুখী ত্রিভুজটি দেখা যায় সেটিতে ক্লিক করে টেস্টগুলো রান করুন, অথবা CMD+U ব্যবহার করুন।

টেস্টগুলো Xcode-এর মাধ্যমে রান করা হবে।

দ্রষ্টব্য: যদি "No visible @interface for ExerciseName declares the selector ExerciseSelector," এররটি পান, তাহলে আপনি ধাপগুলো ঠিকভাবে অনুসরণ করেছেন, তবে আপনার হেডার/ইমপ্লিমেন্টেশন ফাইলে কিছু লেখেননি। .h ফাইলে আপনার মেথড ডিক্লেয়ার করে .m ফাইলে ডিফাইন করলে, আপনার টেস্টগুলো আরও সহায়ক এরর দেখাবে যা অনুশীলনীটি শেষ করার পথে এগিয়ে নেবে। আরও বিস্তারিত জানতে এই Objective-C ক্লাসের প্রাইমার পড়ুন।

একটি টেস্ট রানার

নিজে হাতে প্রজেক্ট ফাইল তৈরি করার বিকল্প হলো ruby-তে লেখা একটি টেস্ট রানার ইউটিলিটি, objc, যা আপনার জন্য টেস্ট ফাইল, হেডার ফাইল ও সোর্স ফাইল দিয়ে একটি প্রজেক্ট ফাইল তৈরি করে দেবে।

$ gem install objc

টেস্টগুলো রান করুন এভাবে:

$ objc -x ExerciseName

(লক্ষ্য করুন -x/--xcodebuild ফ্ল্যাগটি, যা xctool-এর বদলে xcodebuild ব্যবহার করার নির্দেশ দেয়। পরেরটি Xcode-এর সাম্প্রতিক সংস্করণগুলোর সাথে কাজ করে না।)

objc ইউটিলিটি অনুশীলনীর নাম ব্যবহার করে টেস্ট ফাইল ExerciseNameTest.m, হেডার ফাইল ExerciseName.h এবং সোর্স ফাইল ExerciseName.m খুঁজে বের করে। ফাইলগুলো একটি অস্থায়ী Xcode প্রজেক্টে বসানো হয় এবং তারপর প্রজেক্টের টেস্টগুলো রান করতে xcodebuild ব্যবহার করা হয়।

objc আপনার জন্য এমন ব্যবস্থা করে দেয় যে এই অনুশীলনীগুলো শেষ করতে আর কখনো Xcode চালু করতে হয় না, তবে কমান্ড-লাইন থেকে পাওয়া এরর বার্তা ও ফিডব্যাক Xcode-এর ইউজার ইন্টারফেসের মতো স্পষ্ট নয়।