خانه > Persian Contents, Software Engineering, Unit Test > Mocking و مورد استفاده آن در تست کد چیست؟

Mocking و مورد استفاده آن در تست کد چیست؟

ابتدا بایستی واژه Mock را به صورت لفظی معنی کنیم، این واژه به معنی ‌ساختگی و تقلیدی می‌باشد. حال ببینیم در دنیای برنامه‌نویسی به چه معنی می‌باشد.

در برنامه‌نویسی شیءگرا آبجکت‌های mock، آبجکت‌های شبیه‌سازی شده هستند که رفتار آبجکت‌های واقعی را با روش‌های کنترل شده تقلید می‌کنند. اغلب برنامه‌نویس‌های کامپیوتری از این آبجکت‌ها برای تست و آزمایش برخی آبجکت‌های دیگر استفاده می‌کنند. در زمان تست ممکن است که یک آبجکت دارای وابستگی‌هایی به آبجکت‌های دیگر داشته باشد که بعضا پیچیده می‌باشد. برای اینکه رفتار آبجکتی را که می‌خواهید تست کنید، ایزوله نمایید باید آبجکت اصلی خود را با آبجکتی فرعی که رفتار آن را شبیه‌سازی می‌کند، جایگزین نمایید. این برای زمانی مناسب است که برای آبجکت‌های واقعی ما غیر ممکن باشد که وارد بحث تست شوند.

به طور خلاصه می‌توان بیان کرد که mocking ، ساختن آبجکت‌هایی است که رفتار آبجکت‌های واقعی را شبیه‌سازی می‌کنند.

نه تنها این روش باعث می‌شود که تست‌های شما سریعتر اجرا شوند بلکه به شما این امکان را می‌دهد که به جای تمرکز روی وابستگی‌های خارجی، روی تست قابلیت کد خود تمرکز نمایید.

زمانی که آبجکتی یکی از ویژگی‌های زیر را داشته باشد، ممکن است که استفاده از یک آبجکت mock به جای آن مفید باشد:

۱- نتایج غیرقطعی را تدارک می‌بیند مانند زمان کنونی

۲- دارای شرایطی باشد که بازسازی و یا ساخت آن مشکل باشد مانند خطاهای موجود در شبکه

۳- کند باشد مثلا اگر برای مقداردهی اولیه باید یک پایگاه داده بزرگ بارگزاری شود.

۴- بیش از این وجود ندارد و یا ممکن است رفتارش تغییر کند.

۵- شامل اطلاعات یا روش‌هایی باشد که منحصرا به منظور تست وجود دارند.

با یک مثال مطلب را برای شما روشن‌تر خواهم کرد. فرض کنید یک برنامه دارید که باید در زمان خاصی اجرا شود، اگر بخواهیم از آبجکت واقعی که زمان کامپیوتر است استفاده کنید، ممکن است که به ساعت‌ها انتظار نیاز داشته باشیم. حال اگر آبجکت mock معادل زمان را برای برنامه خود بنویسیم دیگر می‌توانیم زمان را خودمان برای آن تنظیم نماییم و بدین ترتیب وابستگی ما به یک آبجکت بیرونی (ساعت کامپیوتر) از بین خواهد رفت.

در زیر می‌توانید به چندین فریمورک که برای عملیات mocking در تست پروژه‌های NET. وجود دارد دسترسی داشته باشید:

  1. ژوئیه 27, 2011 در 3:42 ق.ظ.

    لطفا بیشتر توضیح دهید
    با تشکر

  1. No trackbacks yet.

پاسخی بگذارید

در پایین مشخصات خود را پر کنید یا برای ورود روی شمایل‌ها کلیک نمایید:

نشان‌وارهٔ وردپرس.کام

شما در حال بیان دیدگاه با حساب کاربری WordPress.com خود هستید. بیرون رفتن / تغییر دادن )

تصویر توییتر

شما در حال بیان دیدگاه با حساب کاربری Twitter خود هستید. بیرون رفتن / تغییر دادن )

عکس فیسبوک

شما در حال بیان دیدگاه با حساب کاربری Facebook خود هستید. بیرون رفتن / تغییر دادن )

عکس گوگل+

شما در حال بیان دیدگاه با حساب کاربری Google+ خود هستید. بیرون رفتن / تغییر دادن )

درحال اتصال به %s

%d وب‌نوشت‌نویس این را دوست دارند: