আমি ২০০৯ সালের আগস্টের শুরুতে টিডিডি করা শুরু করেছিলাম এবং আমার সম্পূর্ণ সংস্থাকে সেপ্টেম্বর / অক্টোবর ২০০৯ এ এটির দিকে নিয়ে যেতে রাজি করিয়েছিলাম ly এটি আমাদের পক্ষে দুর্দান্ত কাজ করেছে এবং আমি কাউবয় কোডিংয়ে ফিরে যেতে ভাবতে পারি না।
তবে দুটি সমস্যা রয়েছে যা বেশ লক্ষণীয়।
পরীক্ষার স্যুট বজায় রাখতে হবে
আপনি যখন টিডিডি সম্পর্কে গুরুতর হন, আপনি প্রচুর পরীক্ষা লেখার কাজ শেষ করবেন । তদ্ব্যতীত, পরীক্ষাগুলির সঠিক গ্রানুলারিটি কী তা উপলব্ধি করতে কিছু সময় এবং অভিজ্ঞতা লাগে (অতিরিক্ত পরিমাণে এটি আন্ডারডিংয়ের মতোই খারাপ)) এই পরীক্ষাগুলিও কোড এবং এগুলি বিট্রোটের পক্ষে সংবেদনশীল। এর অর্থ হ'ল আপনাকে এগুলিকে অন্য সবকিছু হিসাবে বজায় রাখতে হবে: আপনি যখন তাদের উপর নির্ভরশীল লাইব্রেরিগুলি আপগ্রেড করবেন তখন আপডেট করুন, সময়ে সময়ে রিফ্যাক্টর ... যখন আপনি আপনার কোডটিতে বড় পরিবর্তন করেন, তখন অনেকগুলি পরীক্ষা হঠাৎই তারিখের বাইরে চলে যায় বা এমনকি সরল ভুল। আপনি যদি ভাগ্যবান হন তবে আপনি কেবল এগুলি মুছতে পারেন, তবে অনেক সময় আপনি দরকারী বিটগুলি বের করে নতুন আর্কিটেকচারের সাথে মানিয়ে নেবেন।
পরীক্ষার বিমূর্ততা সময়ে সময়ে ফাঁস হয়
আমরা জ্যাঙ্গো ব্যবহার করছি, এটির দুর্দান্ত পরীক্ষার কাঠামো রয়েছে। যাইহোক, কখনও কখনও এটি এমন অনুমানগুলি তৈরি করে যা বাস্তবতার সাথে সামান্য বিরোধের সাথে থাকে। উদাহরণস্বরূপ, কিছু মিডলওয়্যার পরীক্ষাগুলি ভঙ্গ করতে পারে। বা, কিছু পরীক্ষা একটি ক্যাশে ব্যাকএন্ড সম্পর্কে অনুমান করে। এছাড়াও, আপনি যদি "রিয়েল" ডিবি ব্যবহার করেন (এসকিউএলাইট 3 নয়), তবে পরীক্ষার জন্য ডিবি প্রস্তুত করতে অনেক সময় লাগবে will অবশ্যই, আপনি স্থানীয়ভাবে পরীক্ষাগুলির জন্য SQLite3 এবং একটি ইন-মেমরি ডিবি ব্যবহার করতে পারেন (এবং হওয়া উচিত) তবে কিছু কোড আপনার ব্যবহার করা ডাটাবেসের উপর নির্ভর করে আলাদা আচরণ করবে। বাস্তবসম্মত সেটআপে চলমান একটি অবিচ্ছিন্ন ইন্টিগ্রেশন সার্ভার সেট আপ করা আবশ্যক।
(কিছু লোক আপনাকে বলবে যে আপনার ডাটাবেসের মতো সমস্ত জিনিসকে উপহাস করা উচিত, বা আপনার পরীক্ষাগুলি "খাঁটি" নয়, তবে এটি কেবল আদর্শিক বক্তব্য। আপনি যদি আপনার বিদ্রূপমূলক কোডে ত্রুটি করেন তবে (এবং আমাকে বিশ্বাস করুন, আপনি করবেন)), আপনার পরীক্ষাগুলি মূল্যহীন হবে।)
এগুলি সবই বলেছিল, আমি যে সমস্যাগুলি বর্ণনা করেছি সেগুলি কেবল তখনই লক্ষণীয় হয়ে যায় যখন আপনি টিডিডি নিয়ে বেশ উন্নত হন ... আপনি যখন কেবল টিডিডি দিয়ে শুরু করছেন (বা ছোট প্রকল্পগুলিতে কাজ করছেন) পরীক্ষার রিফ্যাক্টরিং কোনও সমস্যা হবে না।