আমি আপনার সহকর্মীদের সাথে ঝোঁক রাখি তবে কেবল একটি বিষয় পর্যন্ত।
ইউনিট পরীক্ষাগুলির সমস্যাটি হ'ল তারা ঘন ঘন এবং নির্বোধের সাথে তুচ্ছ মামলায় লিখিত হয় যেখানে কোডটির অভিশাপ তদন্তটি প্রকাশ করে যে এটি কোনও কাজই করবে না। এই ক্ষেত্রে:
def add(x, y)
x + y
end
এক ডজন পরীক্ষার পাশাপাশি তা নিশ্চিত করার জন্য যে সংযোজনটি প্রকৃতপক্ষে পছন্দসইভাবে বেছে নেওয়া ব্যবহারের ক্ষেত্রে কার্যকর হবে। Duh ...
ইউনিট পরীক্ষার পিছনে সাধারণ ভিত্তি হ'ল: যদি আপনার কোডটিতে কোনও বাগ থাকে না, কারণ আপনি যথেষ্ট পরীক্ষা করেননি। এখন, কখন সঠিক ইউনিট পরীক্ষা লিখবেন। উত্তর:
- আপনি যখন পরীক্ষা করছেন
- আপনি যখন ডিবাগ করছেন
- আপনি সত্যই জটিল জিনিস বিকাশ হিসাবে
মনে করি আপনি প্রতিটি অ্যাপটি ওয়েব অ্যাপ্লিকেশন বিকাশ করছেন ing
আপনি নতুন কার্যকারিতাতে কিছু কোড লিখুন এবং এটি এখনই যুক্তিসঙ্গতভাবে কাজ করা উচিত। তারপরে আপনি আপনার ব্রাউজারের জন্য পৌঁছে যান এবং যাচাই করে নিন যে এটি আরও নিবিড়ভাবে পরীক্ষা করে কাজ করে, তাই না? Bzzzt! ... ভুল উত্তর। আপনি একটি ইউনিট পরীক্ষা লিখুন। আপনি যদি এখন এটি না করেন, আপনি সম্ভবত কখনও করবেন না। এবং এটি এমন এক স্থানে যেখানে ইউনিট পরীক্ষাগুলি খুব ভালভাবে কাজ করে: উচ্চ স্তরের কার্যকারিতা পরীক্ষা করে।
তারপরে আপনি একটি বাগ আবিষ্কার করেন (কে কখনই মিস করে না?) এটি আমাদের দুটি বিষয় নিয়ে আসে। আপনি কোডটিতে ফিরে যাবেন এবং পদক্ষেপগুলি অনুসরণ করতে শুরু করুন। আপনি যেমন করছেন, ইউনিট পরীক্ষাগুলি কী ব্রেক ব্রেক পয়েন্টগুলিতে লিখুন যেখানে সামঞ্জস্যপূর্ণ এবং সঠিক ডেটা থাকা অত্যন্ত গুরুত্বপূর্ণ।
শেষ পয়েন্টটি অন্যদিকে। আপনি কিছু লোমযুক্ত কার্যকারিতা ডিজাইন করছেন যা মেটা-প্রোগ্রামিংয়ের বোঝা জড়িত। এটি হাজার হাজার সম্ভাব্য পরিস্থিতি সহ দ্রুত একটি সিদ্ধান্তের গাছ তৈরি করে এবং আপনাকে অবশ্যই নিশ্চিত করতে হবে যে সেগুলির প্রতিটি এবং সর্বশেষ কাজ করে। এই জাতীয় জিনিসগুলি লেখার সময়, এখানে সাদামাটা পরিবর্তনের পরিবর্তন ঘটে বা খাদ্য শৃঙ্খলে আরও অকল্পনীয় পরিণতি ঘটতে পারে। বলুন, আপনি এসকিউএল ট্রিগারগুলি ব্যবহার করে একটি এমপিটিটি বাস্তবায়ন ডিজাইন করছেন - যাতে এটি একাধিক সারি বিবৃতি দিয়ে কাজ করতে পারে।
এই ধরণের কাঁটাযুক্ত পরিবেশে, আপনি সাধারণত আপনার পরীক্ষাগুলি অত্যন্ত স্বয়ংক্রিয় করতে চান। সুতরাং আপনি পরীক্ষার ডেটা উত্পন্ন করতে স্বয়ংক্রিয় করতে স্ক্রিপ্টগুলি লেখেন এবং এই পরীক্ষার ডেটাতে ইউনিট পরীক্ষার একটি নৌকা বোঝা চালান। আপনি এটি করার কারণে ট্র্যাকটি হারাতে না পারার একটি গুরুত্বপূর্ণ বিষয় হ'ল আপনার ইউনিট পরীক্ষা জেনারেটরের জন্য আপনাকে ইউনিট পরীক্ষাও লিখতে হবে।
নীচের লাইন: ইউনিট পরীক্ষা, অবশ্যই হ্যাঁ। তবে মৌলিক কার্যকারিতা থেকে নিজেকে বাঁচান - যতক্ষণ না আপনার ডিবাগিংয়ের জন্য আসলে প্রয়োজন হয় না বা কিছু লোমশ কার্যকারিতা সঠিকভাবে কাজ করে না তা নিশ্চিত করে না (সহ, পরবর্তী ক্ষেত্রে, টেস্টগুলি নিজেরাই করে থাকে)।