سؤال

أنا فقط شاهدت هذا مضحك YouTube فيديو حول اختبار الوحدة (إنه هتلر مع ترجمات مزيفة مضغ فريقه لعدم القيام باختبارات وحدة جيدة - تخطيه إذا كنت تعاني من ضعف الفكاهة) حيث تنتقد الكعبات بشكل مستدير. لكنني لا أفهم ما الخطأ في كعبز.

لم أبدأ باستخدام إطار سخري ولم أبدأ في الشعور بالألم من عدم استخدام واحد.

هل أنا في عالم أذى في وقت ما أسفل الخط، بعد اختيار بذرة مكتوبة بخط اليد والزائف بدلا من السخرات (مثل Rhinomock إلخ)؟ (باستخدام تصنيف FOWLER)

ما هي الاعتبارات اللازمة للاختيار بين كعب وهمية ومكتب بخط اليد؟

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

المحلول

لا حرج في الكعبات، هناك مجال للغرفة، السخرط ... والجواسيس. الكل هي "الاختبار الزوجي"، ولكن مع أغراض مختلفة كما هو موضح في السخرط والنوبات ليست جواسيس:

...] قبل الانتقال، أود أن أوضح وتحديد بعض المصطلحات المستخدمة هنا، والتي اكتشفت في الأصل في جيرارد ميسزاروس " كتاب أنماط xunit.

  • كائن دمية هو كائن عنصر نائب مرت إلى النظام قيد الاختبار ولكن لم تستخدم قط.
  • كعب الاختبار يوفر النظام قيد الاختبار مع إدخال غير مباشر
  • يوفر تجسس اختبار طريقة للتحقق من قيام النظام قيد الاختبار بإخراج غير مباشر صحيح
  • يوفر كائن Mock النظام قيد الاختبار مع كل من المدخلات غير المباشرة وسيلة للتحقق من الإخراج غير المباشر

...] ويمكنك ترك هذا الرسم البياني مفيد توجيه قراراتك:

alt text

ملاحظة: Mockito - الإطار الجديد وهمية على الكتلة يستحق القراءة أيضا.

نصائح أخرى

يمكنني استخدام المصطلحات التالية (قدمها ROY OSHHEROVE، مؤلف فن اختبار الوحدات):

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

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

إذا لم تكن قد بدأت في استخدام إطار سخري (مصطلح بديل: إطار العزلة)، يجب أن تبقي عينها وإعادة تقييم خياراتك بشكل متكرر. ذهبت من السخرط اليدوي إلى NMOCK2 إلى موك بسرعة كبيرة. ها هي مثيرة للاهتمام تصويت من المبرمجين الذين يوضحون ما يستخدمونه. السخرط اليدوي / كاربز في الأقلية، ولكن ليس من غير المألوف.

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

هناك الكثير من الاعتبارات الصغيرة مثل: إذا كنت لا ترغب في التعامل مع أي من الأساليب، فيمكنك إما أن تكون بمثابة أي شيء غير مرجع أو فشل الاختبار - اختيارك - ولكن في كلتا الحالتين لا يوجد رمز تقريبا وبعد

ما مقدار الثنائية التي تحصل عليها عند كعب الفصل؟ كيف تتعامل معها إذا كانت صفك نهائي؟ هل تلعب الحيل للحصول على كعبك على ClassPath أولا، أو هل تستخدم مصدر مختلف؟

أوصي بالبدء للتو بالسخرية - من الأسهل في كل مكان.

لا حرج في استخدام كاربس بدلا من السخرط.

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

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

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

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

انا يعجبني موك كثير؛ أجد أنه من الأسهل استخدامها من أكشن أسماط لإنشاء كاربين.

يستخدم السخرط والنوبات لتحقيق اختبار وحدة حقيقية. أنت فقط وهم يسخرون جميع التبعيات، واختبار الوحدة صفك بمعزل.

أنا حاليا باستخدام موك للسخرية وطواص.

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