Fitnesse- هل يجب أن تتحدث الاختبارات إلى قاعدة البيانات؟

StackOverflow https://stackoverflow.com/questions/2134600

سؤال

نحن نحاول استخدام اللياقة البدنية لاختبارنا الوظيفي. هل يجب أن أسخر من التبعيات أم يجب أن تختبر ضد قاعدة البيانات؟

ما هي إيجابيات/سلبيات أي من النهج؟

إن الإصدار الكامل للاختبار مقابل DB هو إعداد البيانات التي تعتبر تبعية ضخمة. إذا سخرنا من اختبار وظيفي حقيقي؟

شكرًا

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

المحلول

لدينا مجموعة كاملة من الاختبارات الوظيفية النهائية التي يتم تشغيلها في اللياقة في وضعين: "inmemory" و "قاعدة البيانات" ، اعتمادًا على التكوين المطلوب لإجراء الاختبارات في إملاءات التي تستخدم الاختبارات. هذا له العديد من المزايا:

1) يمنع المطورين من بناء الكثير من الوظائف في قاعدة البيانات ويبقي في الكود.

2) عندما تعمل اختبارات اللياقة البدنية بسرعة كبيرة. السماح للاختبارات بالفشل بسرعة كبيرة ... وبالتالي تسريع التطور وخفة الحركة. عندما تعمل في وضع DB فقط ، فإنهم يستغرقون بعض الوقت.

نصائح أخرى

أرى (على الأقل) نوعان من الاختبارات التي يمكن إجراؤها باستخدام اللياقة:

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

  • اختبارات من طرف إلى طرف (أو تقريبًا من طرف إلى طرف) تستخدم كاختبارات الانحدار أو الدخان. هذه ، من الواضح ، تشمل وظائف قاعدة البيانات.

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

أفضل عزل اختبارات التكامل التي تنطوي على DB في Nunit. يجب ألا تفشل اختباراتك الوظيفية لأن مشكلات التكامل. لقد وجدت أكثر راحة لحمل حالات الكائن من خلال المفردات البسيطة من DB.

أعتقد أنه يجب أن يختبر ضد قاعدة البيانات. لأنه أثناء قيامك بإجراء اختبار وظيفي مع Fitnesse ، يمكنك استخدام Mock. استخدمها مع قاعدة البيانات لمعرفة وظيفة قاعدة البيانات الفعلية التي تعمل بشكل جيد أو لا ، حيث سيكون لدى DB بيانات ضخمة.

لقد عملت على إنشاء مجموعة اختبار مختلفة للأشياء ذات الصلة DB والتي تمنحني المزيد من الثقة عندما دخلت في اختبار وظائف آخر. يمكن التحقق من أشياء مثل قواعد العمل و Procs المخزنة وبعض الجداول الأساسية ولكن المهمة للتأكد من أنها في المكان الذي يفترضون أن يكونوا ويحققون نتائج صحيحة. إذا كان هذا كما هو متوقع ، فإن ما تراه في الواجهة الأمامية يجب أن يكون بيئة قوية لإجراء اختبارات الوظائف

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