এই প্রশ্নটি সম্পর্কে আমাকে শয়তানদের উকিল খেলতে হবে কারণ অভিজ্ঞতার অভাবে আমি এটিকে ভালভাবে রক্ষা করতে পারি না। এখানে চুক্তিটি হ'ল, আমি ইউনিট টেস্টিং এবং ইন্টিগ্রেশন পরীক্ষার মধ্যে ধারণাগতভাবে পার্থক্য পেয়েছি । বিশেষত অধ্যবসায় পদ্ধতি এবং সংগ্রহস্থলগুলিতে মনোনিবেশ করার সময়, ইউনিট পরীক্ষাটি মোকের মতো কাঠামোর মাধ্যমে সম্ভবত একটি মোক ব্যবহার করবে যেটি বলে যে অনুসন্ধান করা আদেশ প্রত্যাশিতভাবে প্রত্যাবর্তন হয়েছে বলে দাবি করা যায়।
ধরা যাক আমি নিম্নলিখিত ইউনিট পরীক্ষাটি তৈরি করেছি:
[TestMethod]
public void GetOrderByIDTest()
{
//Uses Moq for dependency for getting order to make sure
//ID I set up in 'Arrange' is same one returned to test in 'Assertion'
}
সুতরাং যদি আমি সেট আপ করি OrderIdExpected = 5
এবং আমার মক অবজেক্ট 5
আইডি হিসাবে ফিরে আসে তবে আমার পরীক্ষাটি পাস হবে। আমি এটা পাই. আমার কোডটি কী প্রত্যাশিত বস্তু এবং আইডি প্রত্যাবর্তন করে অন্য কিছু নয়, তা নিশ্চিত করার জন্য আমি একক কোডটি পরীক্ষা করেছি।
আমি যে যুক্তিটি পাব তা হ'ল:
"কেন কেবল ইউনিট পরীক্ষা ছেড়ে যাওয়া এবং ইন্টিগ্রেশন টেস্টগুলি করা উচিত নয়? এটি ডাটাবেস সঞ্চিত পদ্ধতি এবং আপনার কোড একসাথে গুরুত্বপূর্ণ যা পরীক্ষা করা গুরুত্বপূর্ণ unit এবং কোডটি কাজ করে I আমি জানি পরীক্ষাগুলি বেশি সময় নেয়, তবে সেগুলি চালানো ও পরীক্ষা করতে হবে নির্বিশেষে উভয়ই হওয়া আমার পক্ষে অর্থহীন বলে মনে হয় what কেবল বিষয়গুলির বিরুদ্ধে পরীক্ষা ""
আমি এটি একটি পাঠ্য বইয়ের সংজ্ঞা দিয়ে এটিকে রক্ষা করতে পারি যেমন: "আচ্ছা এটি একটি ইন্টিগ্রেশন টেস্ট এবং আমাদের আলাদাভাবে কোডটি ইউনিট পরীক্ষা হিসাবে পরীক্ষা করা দরকার এবং, ইয়াদ, ইয়াদা, ইয়াদা ..." এটি এমন একটি ক্ষেত্রে যেখানে অনুশীলনের বিশুদ্ধ ব্যাখ্যা বনাম বাস্তবতা হারিয়ে যাচ্ছে। আমি মাঝে মাঝে এটি চালিয়ে যাই এবং যদি আমি ইউনিট টেস্টিং কোডের পিছনে যুক্তিটি ডিফেন্ড করতে না পারি যা শেষ পর্যন্ত বাহ্যিক নির্ভরতার উপর নির্ভর করে, আমি এটির জন্য কোনও মামলা করতে পারি না।
এই প্রশ্নে যে কোনও সহায়তা প্রশংসিত হয়, ধন্যবাদ!