سؤال

أنا جديد على Pex and Moles.أحاول تشغيل Pex على الكود الخاص بي ولكني أستخدم حقنة Constructor.هل هناك طريقة لإرشاد Pex حول كيفية حقن المنشئات؟

تعديل Genacodicetagpre

أحتاج إلى حقن مستودع مستخدم كعب.فشل Pex مع NullReferenceException عند استدعاء _userRepository.GetById (id).لقد كنت أستخدم Moq في اختبارات الوحدة الخاصة بي ولكني أريد التبديل إلى pex و moles

هل يجب علي استخدام PexFactories لإنشاء بذرة "كعب روتين"؟

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

المحلول

حاول اجتياز نوع Moles Stub إلى اختبار معلمات تم إنشاؤه بواسطة Pex. لإنشاء اختبار ذي معلمات ، انقر بزر الماوس الأيمن فوق الفصل الذي تريد استكشافه ، ثم حدد PEX> إنشاء اختبار وحدة ذات معلمات . يؤدي هذا إلى إنشاء طريقة في فئة الاختبار تحتوي على وسيطات. تستدعي الاختبارات الفردية هذا الاختبار المعتمد ، وإرسال وسيطات الاختبار الفردية.

عندما تستخدم الشفرة قيد الاختبار إدخال التبعية عن طريق الوسيطات (تحتوي على وسيطة من نوع الواجهة) ، فإن طريقة الاختبار ذات المعلمات التي تم إنشاؤها بواسطة Pex ستحتوي أيضًا على نفس وسيطة نوع الواجهة. يمكنك كتابة طرق الاختبار الخاصة بك التي تستدعي أيضًا الطريقة ذات المعلمات ، وتغذيها بالقيم الخاصة بك ، بما في ذلك نوع الواجهة. فقط تأكد من عدم كتابتها في الملف الذي تم إنشاؤه بواسطة Pex!

أقترح أيضًا النظر في استخدام أنواع Mole Stub لحقن اختبار الوحدة. يعد الدليل المرجعي لـ Microsoft Moles مكانًا جيدًا لبدء التعلم حول كيفية استخدام الشامات في اختبارات الوحدة. سيتم إنشاء نوع كعب الخلد للواجهة الخاصة بك ، عند إنشاء الاختبار ذي المعلمات. ما عليك سوى تكوين الانعطافات لنوع كعب الروتين الخاص بك ، ثم تمريره إلى اختبار المعلمات.

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

نموذج تعداد: Genacodicetagpre

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