কিছুক্ষণ আগে আমি স্ট্যাক ওভারফ্লো উত্তরটি পেয়েছি যা আমি খুঁজে পাচ্ছি না, এমন একটি বাক্য যা আপনাকে বোঝায় যে আপনার পাবলিক এপিআই পরীক্ষা করা উচিত এবং লেখক বলেছিলেন যে আপনার ইন্টারফেস পরীক্ষা করা উচিত। লেখক আরও ব্যাখ্যা করেছেন যে কোনও পদ্ধতি বাস্তবায়ন যদি পরিবর্তিত হয় তবে আপনাকে পরীক্ষা ক্ষেত্রে কোনও পরিবর্তন করার দরকার নেই, কারণ এটি করার ফলে চুক্তিটি ভেঙে যায় যা নিশ্চিত হয় যে পরীক্ষার অধীনে সিস্টেমটি কাজ করছে। অন্য কথায়, পদ্ধতিটি যদি কাজ না করে তবে একটি পরীক্ষায় ব্যর্থ হওয়া উচিত, তবে বাস্তবায়ন পরিবর্তিত হওয়ার কারণে নয়।
আমরা যখন উপহাস করার কথা বলি তখন এটি আমার নজরে আসে। যেহেতু বিদ্রূপটি পরীক্ষার নির্ভরতার অধীনে সিস্টেমের কাছ থেকে আসা প্রত্যাশার কলগুলিতে প্রচুর নির্ভর করে, তাই মকগুলি ইন্টারফেসের পরিবর্তে প্রয়োগের সাথে দৃ tight়ভাবে মিলিত হয়।
মক বনাম স্টাব নিয়ে গবেষণা করার সময় , বেশ কয়েকটি নিবন্ধ সম্মত হয়েছে যে মকগুলির পরিবর্তে স্টাবগুলি ব্যবহার করা উচিত, যেহেতু তারা নির্ভরতা থেকে প্রত্যাশার উপর নির্ভর করে না, যার অর্থ পরীক্ষার প্রয়োগের অধীনে অন্তর্নিহিত সিস্টেম সম্পর্কে কোনও জ্ঞানের প্রয়োজন নেই।
আমার প্রশ্নগুলি হবে:
- উপহাস কি খোলা / বন্ধ নীতি লঙ্ঘন করে?
- শেষ অনুচ্ছেদে স্টাবগুলির পক্ষে যুক্তিতে কিছু গায়েব আছে যা স্টাবগুলি এত দুর্দান্ত বনাম উপহাস করে না?
- যদি তা হয়, কখন উপহাস করার জন্য ভাল ব্যবহারের পরিস্থিতি হবে এবং কখন স্টাব ব্যবহার করার জন্য ভাল ব্যবহারের ক্ষেত্রে হবে?
Since mocking relays heavily on expectation calls from system under test's dependencies...
আমি মনে করি আপনি যেখানে অস্থির হয়ে যাচ্ছেন এখানেই। মক হ'ল বাহ্যিক পদ্ধতির কিছু কৃত্রিম উপস্থাপনা। এটি বাহ্যিক সিস্টেমকে কোনও উপায়েই উপস্থাপন করে না, ইনসোফার ব্যতীত যেমন এটি বাহ্যিক সিস্টেমকে এমনভাবে অনুকরণ করে যা বলেছিল যে বাহ্যিক সিস্টেমে নির্ভরতা থাকা কোডের বিরুদ্ধে পরীক্ষা চালানো যেতে পারে। আপনার কোডটি বাস্তব, আনমকড সিস্টেমের