سؤال

كيف يمكن إعداد اختبار DUnit في مشروع Midas/DataSnap في دلفي 2006

يحرر

كيف يمكن للمرء أن يقوم بإجراء اختبار dunit في aispontedatamodule ، لا يعمل معالج المشروع في Delphi 2006

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

المحلول

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

نصائح أخرى

آسف على الإجابة المقتضبة أعلاه، يقوم جهاز iPad بالنشر عندما أضغط على "رجوع" أثناء تحرير منشور.

تم تصميم dUnit لإجراء اختبار الوحدة، وما تحاول القيام به ليس اختبار الوحدة.

لا يعد الاختبار اختبارًا للوحدة إذا:

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

إذا اتبعت مبادئ SOLID (خاصة مبدأ المسؤولية الفردية)، فإن استخدام dUnit لاختبار فصلك (دون اختبار المنطق المرتبط بـ Midas/DataSnap) يجب أن يكون بسيطًا إلى حد معقول.وفي الحقيقة، لا يجب عليك اختبار منطق Midas/DataSnap.

ولكن هناك طرق لإجراء اختبارات التكامل والسلوك على تطبيقات دلفي.

أنا شخصياً لن أستخدم TestComplete لأنه لا يتكامل جيدًا مع أي نوع من خادم CI ويتم تخزين الاختبارات بتنسيق ثنائي خاص (مما يجعل دمج الاختلافات أو الحفاظ على التغييرات في أي نظام تحكم بالمصدر أمرًا صعبًا).

بامكانك ان تحاول dSpec, لكنني لست متأكدًا من أن جودي دوكينز تحافظ عليه بعد الآن.

لقد استخدمت AutoIt لغة البرمجة النصية BASIC مباشرة في بعض المشاريع، واستخدمت أيضًا تجميع .NET الخاص بها لتشغيل تطبيق دلفي باستخدام NUnit وC# في تطبيق آخر.على الرغم من أنه لم يكن مثاليًا، إلا أن حل NUnit / C# كان أكثر أناقة من أي شيء رأيته لأداء تطبيقات دلفي للاختبار الوظيفي/السلوكي.لقد استغرق الأمر بعض الجهد لإعداده بالرغم من ذلك.

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