Nunit ، TestDriven.net: نتائج اختبار مكررة مع فئات اختبار جزئية

StackOverflow https://stackoverflow.com/questions/2093891

سؤال

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

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

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

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

الآن ... لماذا يحدث هذا على الأرض؟ اعتقدت أن الطبقات الجزئية تم تجميعها في فصل واحد؟ هل هذه مشكلة مع الفئات الجزئية بشكل عام أو nunit أو revived.net أو شيء مختلف تمامًا؟

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

المحلول

ربما تضع [TestFixture] ميزة في كلا ملف الفئة الجزئية. هذا سوف يسبب TestFixture أن تنبعث مرتين في تعريف فئة IL وسيقوم Nunit بتشغيل نفس رمز الاختبار مرتين. يجب عليك فقط إضافة [TestFixture] في أحد الملفات لفصلك الجزئي.

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