سؤال

يتكون مشروع الويب الربيعي من:

  1. فصول UTIL؛
  2. مستودعات؛
  3. الخدمات؛
  4. وحدات تحكم.

    الاختبارات هي كما يلي:

    1. اختبارات الوحدة لفئات UTIL؛
    2. اختبارات تكامل الربيع للمستودعات مع hsqldb؛
    3. اختبارات الوحدة للخدمات مع مستودعات وهمية؛
    4. اختبارات الوحدة لأجهزة التحكم مع خدمات وهمية.

      هناك أيضا اختبارات النظام التي تختبر وظائف المشروع الشاملة. يمكن إجراء أداة خارجية مثل السيلينيوم أو يمكن تنفيذها باستخدام اختبار تكامل الربيع.

      السؤال هو، هل يجب علي تضمين اختبارات نظام تكامل الربيع هذه في مشروع أو يجب فصلها بطريقة أو بأخرى؟

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

      كيف تنظم اختبار النظام الخاص بك؟

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

المحلول

على المشاريع الصغيرة لقد احتفظت بهم في نفس المكان. في مشاريع المؤسسات الكبيرة (النوع الذي يمكنك استخدام الربيع بشكل مفيد، على سبيل المثال) عادة ما ينظمنا اختبارات النظام في حزمة منفصلة / مشروع. هذا يساعد في الاحتفاظ بها منفصلة عن الكود الرئيسي.

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

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

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

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