سؤال

أنا أستخدم MOQ لاختبار بعض وحدات التحكم التي لدي. أنا غير قادر على ضبط التوقعات. هذا هو الرمز الذي لدي:

        var rep = new Mock<IUserRepository>();
        rep.Setup(r => r.Save());

المشكلة هي أن بلدي Save() الطريقة تتوقع User الكائن الذي لا يمكنني تعيينه في التوقع لأنه سيتم إنشاء مثيل له بواسطة وحدة التحكم. هل من الممكن تعيين التوقع دون تمرير معلمة محددة ، وتحقق فقط مما إذا كانت الطريقة تم استدعاؤها بغض النظر عن المعلمة التي تم تمريرها؟

هل كانت مفيدة؟

المحلول

هل يمكنك شرح ما تعنيه بـ "طريقة Save () تتوقع كائن مستخدم"؟ هل تتوقع ذلك كمعلمة؟ إذا كان الأمر كذلك ، يمكنك تحديد ذلك في الإعداد:

rep.Setup(r => r.Save(It.IsAny<SomeObjectType>())

وسيستغرق أي كائن طالما نوعه SomeObjectType.

إذا كنت تعني شيئًا آخر ، فيرجى إظهار عينة رمز لماهية السلوك المتوقع.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top