CodeShot
Midسختی 2 از ۵· در 20٪ مصاحبه‌های این حوزه پرسیده شده

تفاوت Setup و Verify در Moq چیست؟

نشان کردن

پاسخ کوتاه

Setup مشخص می‌کند یک متد Mock چه مقداری برگرداند؛ Verify بررسی می‌کند آیا یک متد واقعاً (و چند بار) فراخوانی شده است.

پاسخ کامل

Setup برای شبیه‌سازی رفتار وابستگی استفاده می‌شود (مثلاً «وقتی GetById صدا زده شد، این User را برگردان»)؛ Verify برای اطمینان از رخ‌دادن یک فراخوانی (مثلاً «آیا ایمیل واقعاً ارسال شد؟») به کار می‌رود.

مثال کد

csharp\nmockRepo.Setup(r => r.GetById(1)).Returns(new User());\nmockEmail.Verify(s => s.Send(It.IsAny<string>()), Times.Once);\n