سؤال

لقد كنت أبحث في العديد من الأطر السخرية لـ ASP.NET وصادفت Microsoft Moles. يبدو أن هذا جزء من فريق Microsoft Research وكان يتساءل عما إذا كان أي شخص هنا قد اختار شامات على أطر السخرية الناضجة الأخرى مثل MOQ.

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

المحلول

أنا في الواقع استخدم موك و الشامات في نفس مشروع الاختبار. كلاهما لديه نقاط القوة وأنا أستخدم كل عند الاقتضاء. بشكل عام ، أستخدم MOQ للنوع القياسي من اختبار AAA مع التحقق ، والشامات هي "البندقية الكبيرة" للأشياء غير القابلة للتمديد ، مثل مكالمات التمديد وما إلى ذلك.

يعجبني هذا الترتيب ، لأن كل اختبار يمكن أن يكون بسيطًا ومعقولًا قدر الإمكان ، على الرغم من أن إعداد السخرية قد يختلف كثيرًا من الاختبار إلى الاختبار.

نصائح أخرى

تم تصميم Moles للعمل بكفاءة مع تحليل الصندوق الأبيض من PEX. جميع الإطار الوهمي الآخر عادة ما يتحمل الكثير من النفقات العامة.

يوفر Moles اقتراحًا بسيطًا للقيمة: استبدال أي طريقة .NET بمندوب. حسب التصميم ، لا يوفر Moles أي واجهة برمجة تطبيقات للتعبير عن "التحقق" كما تفعل الأطر الأخرى. الأمر متروك لك حقًا لتقرير ما إذا كان هذا القرار يناسب أم لا.

إذا كنت بحاجة إلى التعامل مع التعليمات البرمجية (القديمة) التي تعتمد على الطرق الثابتة المرمزة أو الأنواع المختومة مع المنشآت الداخلية ، يمكن أن تساعدك الشامات في التعامل مع هذه الحالات.

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

غالبًا ما تتم مقارنة الشامات/تتناقض مع typemock من حيث أنها توفر مجموعة من المرافق خارج موقع MOQ و/أو RINOMOCKS الحلو.

والسؤال الرئيسي الذي عليك أن تطرحه على اختيار نفسك هو ما إذا كنت تريد الاحتفاظ باختبارك منخفض التقنية نسبيًا أو المشاركة في مستوى أعلى من الخداع الفني. سيتم إملاء هذا إلى حد كبير بما تفعله - لقد قمت بتمييز ASP.NET وليس MVC مما يشير إلى أنه قد يكون مناسبًا لك بالفعل.

القي نظرة على هذا الفيديو dimecasts.net للحصول على نظرة عامة لطيفة.

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