Mocking روشی در Unit Test است که با کمک آن رفتار کلاسها و آبجکتهایی که وابسته به منابع بیرونی بوده و غیر قابل کنترل هستند سنجیده میشود. منظور از آبجکتهای غیر قابل کنترل، آبجکتیهای مثل DateTime.Now در داتنت، کلاسهای load اطلاعات از دیتابیس، کلاسهای کار با deviceهای بیرونی مثل شبکه و فاکس و غیره میباشد. …
یکی از مشکلات بزرگی که نرمافزار نویسها مدام با آن دسته و پنجه نرم میکنند مشکل ارتقا اجزا و بخشهای مختلف یک نرمافزار است. برای این مشکل مثالهای زیادی وجود دارند:۱- برنامه را با VB6 نوشتهاید ولی حالا که به VB.NET ارتقا دادهاید متوجه شدهاید که پیشفرض VB.NET برای اعضای کلاس private است نه public.۲- …
همیشه وقتی سورس نرمافزارهای Open Source را بررسی میکردم به یک چیز بیمعنی برمیخوردم: استفاده بیمورد از interface. مثلاً کلاسی را پیدا میکردم که پیادهسازی یک اینترفیس خاص بود در حالی که خود آن اینترفیس هم فقط در همان یک جا مورد استفاده قرار گرفته بود. تا جایی که من میدانستم استفاده از interface وقتی …
از همان اولین باری که اسم Mock و Mocking را شنیدم حس کردم چیز گنگی است و تا لازم نشده سراغ آن نروم. اما به تازگی فهمیدم که اولاً با Mocking بعضی unit testهای غیر ممکن، ممکن میشوند، ثانیاً استفاده از آن میتواند تست نرمافزار را خیلی راحتتر و شیرینتر کند. قاعدتاً همه اسم Mocking …
هم Mock و هم Stub در unit testهایی استفاده میشوند که شخص نمیتواند یا نمیخواهد از بعضی objectهای مورد نیاز استفاده نماید. مثلاً قرار است متود ارسال ایمیل به امور فروش در صورت کاهش موجودی برخی کالاها تست شود. فرض کنید موقع تست امکان ارسال ایمیل به علت قطعی اینترنت وجود ندارد. در این حالت …