سؤال

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

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

المحلول

يجب إضافة العديد من يسخر كما من الضروري عزل فئة تحت الاختبار.تحتاج وهمية لكل التبعية التي لا ينبغي أن يكون جزء من الاختبار.

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

أنا أعرف هذا "أفضل الممارسات" أن يكون واحد فقط وهمية و أيضا لا أفهم ذلك.في وحدة الاختبارات, لدينا العديد من يسخر بعض البيئية يسخر يتم إعدادها من قبل الاختبار إطار كتبت (على سبيل المثال.TransactionService, SecurityService, SessionService).هناك شيء واحد فقط أن تنظر ، حسب Gishu سبق ذكره في جوابه ، العديد من يسخر مؤشرا عالية التبعية.الأمر متروك لك أن تنظر عند هذا كثير جدا.لدينا العديد من صغيرة واجهات, الأمر الذي يتطلب العديد من يسخر في الاختبارات.

لتحويل إجابة ، يجب أن لا وهمية تبعية عندما:

  • بل هو غاية بالإضافة إلى جزء من الطبقة تحت الاختبار ، مثل الطبقة الداخلية, خاصة فئة إلخ.
  • بل هو شائع .NET framework فئة مثل جمع مثل
  • تريد أن تكتب على التكامل اختبار لاختبار بالضبط التفاعل مع تلك الفئة.(كنت لا تزال تسخر من كل شيء آخر وأنت لا تزال لديها وحدة الاختبارات لكل المشاركين الدرجة في العزلة.)
  • هو فقط تكلفة وهمية فئة معينة.كن حذرا مع البت أنها مكلفة للغاية ، يسخر يبدو أن يكون من الصعب اقامة ، ولكن تتحول إلى أن تكون سهلة مقارنة الصيانة المشاكل سيكون لديك مع استخدام الطبقات.ولكن هناك بعض الأطر و التقنيات التي لا تنفذ ضد واجهات و من الصعب جدا أن تسخر.إذا كانت مكلفة جدا لوضع هذا الإطار دروس وراء الواجهة الخاصة بك, عليك أن تعيش معهم في الاختبارات.

نصائح أخرى

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

ومع ذلك أعتقد أن ما 'المقالات' قد يكون ملمحا الى هو

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

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

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