سؤال

ولدي فئة ثابتة التي يلتف بعض أساليب الأصلي من winspool:

public static class WinSpool
{
     [DllImport("winspool.drv")]
     public static extern int OpenPrinter(string pPrinterName, out IntPtr phPrinter, IntPtr pDefault);
     ...
     //some more methods here
}

وأود أن تسخر منهم لاختبار وحدة، ولكن لا يمكن أن تجد نمطا لهذا الغرض. (هل الجميع تجنب فصول ثابتة؟)

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

المحلول

نعم، فئة ثابتة عموما <لأ href = "http://weblogs.asp.net/rosherove/archive/2009/11/12/test-driven-design-willed-vs-forced-designs.aspx" يختلط = "noreferrer"> تثير الامتعاض في مجال اختبار وحدة والاستهزاء . AFAIK لا مفتوحة المصدر ساخرا إطار (مثل الكركدن يسخر ) دعم ساخرا الطبقة ثابت

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

نصائح أخرى

لقد أنتجت مايكروسوفت إطار المزيفون لبرنامج Visual Studio 2012 في نهاية المطاف أن يسمح أنواع ثابتة إلى أن سخر باستخدام الحشوات. الحشوات هي المجالس "وهمية" التي توفر المندوبين على جميع طرق الوصول إليها خارجيا. ثم يتم توجيه المكالمات من خلال تصفية الحدث، وأينما وضعت اختبار واحدة من مندوبها، ومندوب يعالج المكالمة. لا يمكن لأي شخص يرغب في تشجيع أنواع الثابتة التي لم يتم التعامل معها من خلال حقن التبعية. الاتجاه المفضل لهو الابتعاد عن الحاجة إلى الحشوات ونحو استخدام بذرة باستخدام DI.

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