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

Exercism-এ আপনার ABAP অনুশীলনীগুলো কীভাবে টেস্ট করবেন তা শিখুন


Exercism-এ

প্রতিটি অনুশীলনী একটি একক ABAP ক্লাস হিসেবে দেওয়া হয় (যাতে এক বা একাধিক মেথড থাকে)। সাধারণত ইনপুট ও আউটপুট প্যারামিটার-সহ মেথড ডেফিনিশন দেওয়া থাকে। আপনার কাজ হলো অনুশীলনীর স্পেসিফিকেশন অনুযায়ী মেথডটির ইমপ্লিমেন্টেশন সম্পূর্ণ করা।

টেস্ট করার মতো কোড তৈরি হয়ে গেলে "Run Tests" নির্বাচন করুন। এতে সংশ্লিষ্ট ABAP টেস্ট ক্লাসটি রান করা হবে এবং কয়েক সেকেন্ড পর ফলাফল দেখা যাবে। এরর থাকলে আপনার কোডে ফিরে গিয়ে সেটি সেই অনুযায়ী ঠিক করুন। সব টেস্ট পাস হলে অভিনন্দন! আপনি অনুশীলনীটি সম্পূর্ণ করেছেন এবং আপনার সমাধান জমা দিতে পারেন।

সমস্যা সমাধান

পর্দার আড়ালে আপনার ABAP কোড তথাকথিত abaplint transpiler দিয়ে কম্পাইল ও রান করা হয়। এটি এখনও তুলনামূলকভাবে নতুন একটি পদ্ধতি। আপনার সমাধান করতে না পারা কোনো সমস্যা থাকলে অনুগ্রহ করে GitHub-এ একটি ইস্যু তৈরি করুন।

ডিবাগিং ও লগিং

Exercism ওয়েবসাইটে ABAP অনুশীলনী রান করার সময় কোনো ডিবাগার পাওয়া যায় না। এতে আপনার টেস্টগুলো কেন ফেল করছে তা বের করা কঠিন হতে পারে। তবে আপনার কোডে ডেটা লগ করার একটি চতুর উপায় আছে (দ্রষ্টব্য: এটি কোনো ABAP সিস্টেমে কাজ করে না)।

এখানে একটি উদাহরণ রয়েছে। প্রথম ছবিতে কিছু ফেল করা টেস্ট-সহ অনুশীলনীর কোড দেখানো হয়েছে। প্রতিটি ফেল করা টেস্ট প্রত্যাশিত ও প্রকৃত মান দেখায়:

লগিং ছাড়া অনুশীলনী

ডিবাগিং সহজ করতে console=>log()-এ এক বা একাধিক কল যোগ করুন এবং যেকোনো মধ্যবর্তী ডেটা মেথডে পাস করুন। নিউলাইন (\n) ব্যবহার করলে আউটপুট গোছানো থাকবে। টেস্ট রান করলে টেস্টের ফলাফলের মধ্যেই কনসোল আউটপুট দেখতে পাবেন:

লগিং-সহ অনুশীলনী

দ্রষ্টব্য: কনসোল আউটপুট শুধু ফেল করা টেস্টের ক্ষেত্রেই দেখা যায়। আপনি যদি আপনার সমাধান প্রকাশ করেন, তাহলে লগ স্টেটমেন্টগুলো মুছে ফেলা ভালো হতে পারে, যাতে কমিউনিটির অন্য সদস্যদের কাছে আপনার প্রকাশিত ইটারেশনটি পড়তে সহজ হয়।

নিজের সিস্টেমে

সম্পূর্ণ ট্র্যাক

নিজের সিস্টেমে প্র্যাকটিস শুরু করার সবচেয়ে সহজ উপায় হলো abapGit দিয়ে এই রিপোজিটরিটি ক্লোন করা। এতে বর্তমানে পাওয়া সব অনুশীলনীর স্টাব ও টেস্ট ক্লাস তৈরি হয়ে যাবে।

আলাদা আলাদা অনুশীলনী

আপনার ABAP Development Tools চালু করুন (পুরোনো সিস্টেম থাকলে SE24 বা SE80 ট্রানজেকশন), এবং অনুশীলনীর ক্লাসটির মতো নাম দিয়ে একটি নতুন ABAP ক্লাস তৈরি করুন। Exercism ওয়েবসাইট থেকে কোড কপি করে পেস্ট করে ক্লাস স্টাব ও টেস্ট ক্লাসও ইমপ্লিমেন্ট করুন।

সমাধান ইমপ্লিমেন্ট করা

এখন আপনি অনুশীলনীর ক্লাসটি এডিট করে একটি সমাধান ইমপ্লিমেন্ট করতে পারেন। তারপর ABAP ইউনিট টেস্ট রান করে দেখুন সব টেস্ট পাস করে কি না। সফলভাবে সম্পূর্ণ ও টেস্ট করা হয়ে গেলে, Exercism ওয়েবসাইটে অনুশীলনীর এডিটরে আপনার কোড কাট করে পেস্ট করুন। সেখানেও টেস্ট রান করুন।

অনুশীলনী টেস্ট করা ও শেষ করা

নিজের সিস্টেমে কোডিং ও টেস্ট করার সময় স্ট্যান্ডার্ড SAP ABAP কম্পাইলার ও রান ব্যবহার করা হয়। আপনার টেস্ট ফেল করলে সেটি সম্ভবত আপনার নিজের কোডের কারণেই হয়। আবার একবার দেখুন।

আপনার কোড ইউনিট টেস্ট সফলভাবে পাস করলে, আপনার ক্লাস ইমপ্লিমেন্টেশন কাট করে Exercism ওয়েবসাইটে অনুশীলনীতে পেস্ট করুন এবং "Run Tests" নির্বাচন করুন। সেখানেও নিশ্চয়ই টেস্টগুলো পাস করবে। না করলে উপরের সমস্যা সমাধান অংশটি দেখুন।