سؤال

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

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

لقد قمت بإنشاء خريطة موقع، وأرغب في اختبارها ولكني لا أرغب في إنشاء بيئة اختبار الوحدة الخاصة بي في مشروع الويب (!)

أي اقتراحات؟السخرية؟تجاوز الأعضاء المعنيين؟

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

المحلول

وسؤال مملة، لذلك ليس من المستغرب أنها لم تحصل على رد! لأي شخص آخر قد يصادفوا هذه المشكلة، وهنا قال لي الحل المفضل:

ولقد وجدت أن أفضل طريقة للتعامل مع هذا هو لتحميل خريطة الموقع البدنية في وثيقة XML. وبعد ذلك يكون لها NavigationNodeFactory، وهو ما يؤكد ويبني بلدي المركبة شجرة NavigationNode من مستند XML.

وصفي NavigationNode كما هو برأيه كما أحب وcircumnavigates القضايا وجدت مع خريطة الموقع وSiteMapProvider، وهي قابلية الاختبار الفقراء عن المنفذين.

نصائح أخرى

أعتقد أن المشكلة ربما تكمن في أنك كنت تحاول، من خلال وصفك، اختبار فئة موجودة بالفعل أولاً - SiteMapNode.

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

يمكنك بعد ذلك الحصول على SiteMapNodeProvider لوقت التشغيل الذي يستدعي SiteMapNode للعمليات، وStubbedSiteMapProvider لاختبارات الوحدة الخاصة بك التي تمرر قيم الاختبار إلى عناصر التحكم المخصصة.

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