سؤال

لقد قمت بكتابة بعض مقدمي الخدمة في لغة C# الذين ورثوا من فئة Providerbase.لقد وجدت أنه من الصعب كتابة الاختبارات التي تستخدم موفري الخدمة لأن معظم أطر العمل الساخرة ستسمح لك فقط بالسخرية من الواجهة.

هل هناك أي طريقة للاستهزاء بمكالمة لمزود يرث من قاعدة الموفرين؟

إذا لم يكن الأمر كذلك، فهل هناك نمط يمكنني استخدامه لتنفيذ السخرية من مقدمي الخدمة؟

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

المحلول

يجب أن تكون أطر العمل الساخرة قادرة على إنشاء كائن وهمي لك بناءً على فئة ما، طالما أنها تحتوي على أعضاء افتراضيين.

قد ترغب أيضًا في إلقاء نظرة على تايموك

نصائح أخرى

أعلم أن نماذج وحيد القرن يمكنها الاستهزاء بالفصول الدراسية أيضًا، ويجب ألا تواجه معظم أطر العمل الساخرة الأخرى أي مشاكل في هذا أيضًا.
الأشياء أيضًا ضعها في اعتبارك:لا يمكن إغلاق الفصل.أنت بحاجة إلى وضع علامة على الطرق التي تريد السخرية منها افتراضيًا ويحتاج الفصل إلى مُنشئ بدون وسائط يمكن حمايتها، أما القطاع الخاص فلن يعمل.(فقط جربت هذا)

ضع في اعتبارك أن إطار العمل الساخر سينشئ فقط فئة ترث من صفك وينشئ كائنًا من هذا النوع.لذلك سيتم استدعاء الصانعين.يمكن أن يسبب هذا سلوكًا غير متوقع في اختباراتك.

RhinoMocks أو موك سينشئ اختبارًا مزدوجًا للفئات وكذلك للواجهات.يجب أن يحتوي النوع على طرق افتراضية أو أن يكون مجردًا.ال تايموك المعزل يلتف حول هذا.

أقترح أن تكون الكائنات التي تريد الاستهزاء بها مجردة (مبدأ انعكاس التبعية).

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