কখনও কখনও মডিউল বা শ্রেণীর ব্যক্তিগত ফাংশনগুলি কেবল কার্য-কার্যকারিতার অভ্যন্তরীণ ইউনিটগুলিতে এখনও বহনযোগ্য হয় না, যা তাদের নিজস্ব পরীক্ষাগুলির প্রাপ্য হতে পারে। তাহলে কেন তাদের পরীক্ষা দিবেন না? আমরা হবে যদি / যখন তারা নিষ্কাশিত করছেন সেগুলি পরে পরীক্ষার লিখুন। সুতরাং কেন এখনই পরীক্ষাগুলি লিখবেন না, যখন তারা এখনও একই ফাইলের অংশ?
প্রদর্শন করার জন্যে:
প্রথম, আমি লিখেছি module_a
। এখন আমি এটির জন্য পরীক্ষা লিখতে চাই। আমি 'ব্যক্তিগত' ফাংশনটি পরীক্ষা করতে চাই _private_func
। আমি বুঝতে পারি না কেন আমি কেন এটির জন্য একটি পরীক্ষা লিখব না, যদি পরে আমি এটির অভ্যন্তরীণ মডিউলে যাইহোক এটি রিফ্যাক্টর করতে পারি এবং তারপরে পরীক্ষাগুলি লিখি।
মনে করুন নিম্নলিখিত ফাংশনগুলি সহ আমার একটি মডিউল রয়েছে (এটি একটি শ্রেণিও হতে পারে):
def public_func(a):
b = _do_stuff(a)
return _do_more_stuff(b)
_do_stuff
এবং _do_more_stuff
মডিউলটির 'ব্যক্তিগত' ফাংশনগুলি।
আমি ধারণাটি বুঝতে পারি যে আমাদের কেবলমাত্র সার্বজনীন ইন্টারফেসটি পরীক্ষা করা উচিত, বাস্তবায়নের বিশদটি নয়। তবে, জিনিসটি এখানে:
_do_stuff
এবং _do_more_stuff
মডিউলটির বেশিরভাগ কার্যকারিতা রয়েছে। তাদের প্রত্যেকেই আলাদা, 'অভ্যন্তরীণ' মডিউলটির সর্বজনীন কার্য হতে পারে। তবে সেগুলি এখনও বিবর্তিত হয়নি এবং পৃথক ফাইলগুলিতে তোলার জন্য যথেষ্ট বড়।
সুতরাং এই ক্রিয়াকলাপগুলির পরীক্ষা করা সঠিক অনুভূত কারণ এগুলি কার্যকারিতার গুরুত্বপূর্ণ একক। যদি তারা জনসাধারণের কাজ হিসাবে বিভিন্ন মডিউলে থাকত তবে আমরা সেগুলি পরীক্ষা করতাম। সুতরাং যখন তারা এখনও (বা কখনও) অন্য কোনও ফাইলে সরানো হয়নি তখন কেন তাদের পরীক্ষা করবেন না?