با انواع Test Double ها آشنایی دارید ؟
در فرآیند توسعه نرمافزار و تست نرمافزار، وقتی میخواهیم یک بخش از سیستم را ایزوله تست کنیم (بهعنوان مثال یک واحد کد را بدون درگیر شدن با وابستگیهای خارجی آن تست کنیم)، از مفهومی به نام "Test Double" استفاده میکنیم. Test Double یک موجودیت جایگزین برای شیء یا ماژول واقعی هست تا وابستگیهای خارجی را در زمان تست کنترلپذیر و سادهتر بشن.
مارتین فاولر بزرگ انواع Test Double را به صورت کلی به پنج دسته تقسیم کرده است که هرکدام هدف و کاربرد خاصی دارند:
Dummy: فقط برای پر کردن جای خالی پارامترها و عدم استفاده عَملی در تست
Stub: برگرداندن پاسخهای ثابت و ساده برای حذف وابستگیهای خارجی
Fake: پیادهسازی سادهشده و درون حافظهای یک سرویس خارجی واقعی
Spy: مانند Stub اما با قابلیت نظارت و ثبت تعاملات برای بررسی پس از اجرا
Mock: تعریف انتظارات قبل از اجرا و کنترل دقیق تعاملات برای تست رفتار
@learning_with_m
در فرآیند توسعه نرمافزار و تست نرمافزار، وقتی میخواهیم یک بخش از سیستم را ایزوله تست کنیم (بهعنوان مثال یک واحد کد را بدون درگیر شدن با وابستگیهای خارجی آن تست کنیم)، از مفهومی به نام "Test Double" استفاده میکنیم. Test Double یک موجودیت جایگزین برای شیء یا ماژول واقعی هست تا وابستگیهای خارجی را در زمان تست کنترلپذیر و سادهتر بشن.
مارتین فاولر بزرگ انواع Test Double را به صورت کلی به پنج دسته تقسیم کرده است که هرکدام هدف و کاربرد خاصی دارند:
Dummy: فقط برای پر کردن جای خالی پارامترها و عدم استفاده عَملی در تست
Stub: برگرداندن پاسخهای ثابت و ساده برای حذف وابستگیهای خارجی
Fake: پیادهسازی سادهشده و درون حافظهای یک سرویس خارجی واقعی
Spy: مانند Stub اما با قابلیت نظارت و ثبت تعاملات برای بررسی پس از اجرا
Mock: تعریف انتظارات قبل از اجرا و کنترل دقیق تعاملات برای تست رفتار
@learning_with_m