سؤال

وكيفية كتابة وحدة الاختبارات لفئات داخلية ؟؟؟

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

المحلول

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

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

نصائح أخرى

وليس ذلك أنصح، ولكن يمكنك أيضا استخدام في InternalsVisibleToAttribute .

عند استخدام MS Visual Studio للاختبارات وحدة لديك لمجرد إنشاء الخاص استرجاع . داخليا كان يعمل مع انعكاسات على ما أعتقد. مجرد إلقاء نظرة على الشفرة التي تم إنشاؤها.

وأنت لا اختباره مباشرة. وسيتم اختبار من خلال الطبقة حيث يتم تعريفه.

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

ولقد استخدمت فئة المساعد الذي يستخدم انعكاس لتحميل واستدعاء الأساليب على الطبقات الداخلية. ومن الممكن أيضا لتغيير الوصول في وقت الترجمة باستخدام DEBUG رمز على سبيل المثال

#if DEBUG
public
#else
internal
#endif
    class MyInternalClass
{
    ...
}

ولكن الجواب ESKO Luontola هو أكثر الصحيحة كما هو وظيفة أو الأعمال التجارية متطلبات التي هي الأكثر أهمية. فمن السهل للحصول على التركيز أيضا على تغطية رمز بدلا من اختبار المناطق المعرضة لخطر الهامة.

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