سؤال

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

يبدو الاختبار مثل هذا (يوجد الاختبار في فئة قاعدة عامة):

session.CreateCriteria(typeof(TEntity)).SetMaxResults(1).List();

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

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

لماذا لا يفشل CreaterCriteria () أو List () في نوع غير محدد؟ وكيف يمكنني اختبار هذا المتطلبات المحددة؟

تعديل: إذا وجدت أن السطر التالي يلقي استثناءً ، لكنه لا يزال يتساءل عن الحالة الأولى

session.CreateCriteria(typeof(TEntity)).SetMaxResults(1).Future<TEntity>().ToArray()
هل كانت مفيدة؟

المحلول

لا أعرف ، لكن على ما يبدو في Nhibernate لا يعرفون أيضًا. يرى https://nhibernate.jira.com/browse/nh-2183 لخلة تم الإبلاغ عنها في هذه المسألة. ما زالوا يعملون على ذلك.

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