لقد استخدمت Java من قبل ، ويمكنني أن أفعل أي شيء مع Eclipse. الآن ، لأنني أرغب في استخدام Delphi لتعديل برنامج المراسلة الفوري ، أتساءل عن كيفية نقل نظام إعادة الإعمار واختبار الوحدة إلى Delphi. يقول الكتاب أن إضافة اختبارات الوحدة إلى التعليمات البرمجية الحالية يمكن أن تعمق فهمك للرمز وتكون بمثابة أساس لتحسين الرمز. لذلك ، من أجل بناء مثل هذه المنصة الرشيقة ، قمت بمحاولة صغيرة مع Delphi2005 و Dunit ، وسجلت النتائج أدناه لمشاركتها معك.
1. تنزيل Delphi2005
نظرًا لأن Borland لا تبيع الإصدارات المهنية في الصين ، نظرًا لسعر Sky High of Architects and Enterprise ، يمكنه فقط تنزيل إصدار D من الإنترنت للاستخدام الشخصي. Delphi2005 كبير نسبيًا في الحجم ، ويتطلب Update1 أيضًا قرصًا مضغوطًا ، لذلك يوصى باستخدام BT لتنزيل إصدار 2CD. عنوان البذور على النحو التالي:
http://www.delphhifans.com/softview/821.html
2. قم بتنزيل SP1 من Delphi2005
يقال أنه بعد تطبيق هذا التصحيح ، يمكن أن يكون أسرع ، لكن التصحيح بطيء في التثبيت ولا تزال بحاجة إلى استخدام قرص مضغوط. عنوان التنزيل كما يلي:
http://www.delphhifans.com/softview/970.html
3. تحميل Dunit
https://sourceforge.net/projects/dunit/
4. تثبيت Delphi2005+SP1
لاحظ أن هناك سجلًا في Keygen وعند التثبيت ، يجب عليك تثبيت إصدارات .NET و Win32 من Delphi في نفس الوقت ، ولكن C# Builder لا يهم. لأنه إذا قمت بتثبيت إصدار Win32 فقط ، فلن تكون وظيفة إعادة الإعمار غير متوفرة (هذا خطأ في Delphi2005 ، والذي يتجلى كنافذة استثناء من .NET عند إعادة إعادة البناء).
5. تبسيط delphi2005
نظرًا لأن إصدار .NET تم تثبيته في نفس الوقت في الخطوة السابقة ، أصبحت Delphi بطيئة جدًا عند البدء. يمكن تحقيق ذلك عن طريق تعديل السجل وحذف بعض حزم IDE. تتمثل الطريقة المحددة في إضافة المعلمة -rxxx بعد هدف اختصار Delphi ، أي Bds.exe -rxxx. هذا xxx هو لك أن تحدد ، وبعد ذلك ستجد هذه الحزم اللعينة في HKEY_Current_user/Software/Borland/XXX (هذا هو الاسم الذي حددته xxx)/3.0/ معروف IDE. لاحظ أنه لا يمكنك حذفه بشكل نظيف للغاية مثل جزيئات Win32 المنقى الأخرى على الإنترنت ، حيث سيكون عديمة الفائدة لإعادة الإعمار. قائمة بسيطة نسبيًا حصلت عليها بعد التجربة عدة مرات على النحو التالي
"$ (bds) // bin // vclmenudesigner90.bpl" = "(Untitled)"
"$ (bds) // bin // win32debugproide90.bpl" = "(Untitled)"
"$ (bds) // bin // htmide90.bpl" = "حزمة مصمم HTML"
"$ (BDS) // bin // iteidew3290.bpl" = "Borland Integrated Translation Environment for Win32"
"$ (bds) // bin // srcmanide90.bpl" = "(Untitled)"
"$ (BDS) // bin // toDoide90.bpl" = "Borland ToDo"
"$ (bds) // bin // htmlhelp290.bpl" = "Borland HtmlHelp Viewer"
"$ (BDS) // bin // idefilefilters90.bpl" = "IDE FileFilters"
"$ (BDS) // bin // startPageide90.bpl" = "Borland START PAGE IDE PACKENT"
"$ (bds) // bin // refactoride90.bpl" = "حزمة إعادة إعادة البورلاند الأساسية"
"$ (bds) // bin // dbkdebugide90.bpl" = "(Untitled)"
"$ (bds) // bin // inscspiondiag90.bpl" = "(Untitled)"
"$ (bds) // bin // deplyide90.bpl" = "مدير النشر"
"$ (BDS) // bin // plugview90.bpl" = "Pluggable Tree View Package"
"$ (BDS) // bin // coreproide90.bpl" = "Core IDE Pro Package"
"$ (BDS) // bin // idetools90.bpl" = "Build Tools"
"$ (bds) // bin // unittestide90.bpl" = "(Untitled)"
"$ (bds) // bin // historyide90.bpl" = "(Untitled)"
"$ (bds) // bin // htmltidy90.bpl" = "HTML TIDY Formatter"
"$ (bds) // bin // htmlfmt90.bpl" = "HTML Internal Formatter"
"$ (BDS) // bin // mlcc90.bpl" = "حزمة إتمام رمز لغة العلامات"
"$ (BDS) // bin // delphivclide90.bpl" = "Delphi VCL Designer IDE Package"
"$ (bds) // bin // delphicoreproide90.bpl" = "(Untitled)"
"$ (bds) // bin // win32debugide90.bpl" = "(Untitled)"
"$ (bds) // bin // htmlide90.bpl" = "(Untitled)"
"$ (BDS) // bin // delphide90.bpl" = "Delphi Win32 IDE Personality"
"$ (bds) // bin // mtspro90.bpl" = "(Untitled)"
"$ (bds) // bin // mtsent90.bpl" = "(Untitled)"
"$ (BDS) // bin // iteidenet90.bpl" = "Borland Integrated Translation Environment for .NET"
"$ (bds) // bin // netimportwiz90.bpl" = "(Untitled)"
"$ (BDS) // bin // dataexplorer90.bpl" = "(Untitled)"
على الرغم من أنه لا يزال بطيئًا بعض الشيء ، إلا أنه يمكن أن يتحمله أخيرًا.
6. تجميع وتثبيت Dunit
استخدم الطريقة التي تعرفها لتجميع Dunit في DCU ووضعها في الدليل الذي حددته. وأضف هذا الدليل إلى مسار المكتبة لأدوات Delphi-> خيارات البيئة-> خيارات Delphi-> Win32 المكتبة.
أيضا تجميع dunit.exe
7. إنشاء مشروع
الطريقة التي أوصي بها هي فصل الواجهة والخلفية عند كتابة برنامج Delphi ، وتحديداً لفتح مشروعين ، ومشروع VCL عادي ومشروع DLL الآخر. لا ، لا ، لا أقصد السماح لك بمشاركة الكود في DLL. يحتوي مشروع DLL هذا على ملفات محتوى خلفية ، بالإضافة إلى اختبارات على الخلفية. يتم استخدام DLL المولدة لـ Dunit ، والتي يمكن لـ Dunit قراءة الاختبار وتشغيلها. في الواقع ، يحتوي المشروع في جزء واجهة المستخدم الرسومية على جميع الملفات.
ينقسم المشروع إلى ثلاثة أجزاء: واجهة المستخدم الرسومية ، الأساسية ، و testcore. يشتمل المشروع الأول على GUI+Core ، والمشروع الثاني يتضمن Core+Testcore. إخراج المشروع 1 هو برنامج Win32Exe. الإخراج الثاني للمشروع هو برنامج Win32DLL.
ثم يمكنك وضع هذين المشروعين في مجموعة المشروع.
8. كتابة الاختبارات
لا يختلف المشروع 1 عن كتابة برنامج DePhi. تتم كتابة الاختبارات في الهندسة رقم 2 ، وأدعو اسم الهندسة رقم 2. دعنا نضيف اختبارًا أساسيًا إلى Core للتحقق مما إذا كان 1+1 يساوي 2.
إنشاء testcase
وحدة testbasic.
واجهة
يستخدم
TestFramework
يكتب
tbasic = فئة
عام
وظيفة إضافة (A ، B: عدد صحيح): عدد صحيح ؛
نهاية؛
ttestbasic = فئة (ttestcase)
خاص
FBASIC: tbasic ؛
عام
إعداد الإجراءات ؛
الإجراءات التجاوز ؛
المنشورة
الإجراء
نهاية؛
تطبيق
وظيفة tbasic.add (A ، B: عدد صحيح): عدد صحيح ؛
يبدأ
النتائج: = A + B ؛
نهاية؛
الإجراء ttestbasic.setup ؛
يبدأ
fbasic: = tbasic.create ؛
نهاية؛
الإجراء ttestbasic.teardown ؛
يبدأ
fbasic.free ؛
نهاية؛
الإجراء ttestbasic.testadd ؛
يبدأ
checkequals (2 ، fbasic.add (1 ، 1)) ؛
نهاية؛
التهيئة
registerTest ('' ، ttestbasic.suite) ؛
نهاية.
تعديل core.bdsproj (كاو ، ما لاحقة غريبة)
تغيير نهاية
صادرات
تسجيل الاسم "اختبار" ؛
نهاية.
وأضف TestFramework في قسم الاستخدامات.
يستخدم Dunit وظيفة التصدير هذه للعثور على testcase التي سجلناها في DLL.
9. تشغيل Dunit
أضف Dunit إلى قائمة الأدوات ، إنها أكثر ملاءمة. إنه فقط من الصعب ملء المعلمات. لم أستخدم الماكرو في الداخل ، لقد ملأت فقط المسار المطلق. إذا قمت بملء المسار المطلق مثلي ، فحدد Dunit من قائمة الأدوات ويمكنك رؤية قائمة اختبار مباشرة.
إذا لم تقم بإضافة Dunit إلى قائمة الأدوات ، فأنت بحاجة إلى العثور على DLL الذي تم تجميعه من المشروع الأساسي ، Core.dll ، من نافذة تحديد الملفات-> اختبار التحميل.
————
حتى الآن ، هناك وظائف إعادة الطرد واختبار الوحدة. كل ما تبقى هو إضافة اختبارات إلى التعليمات البرمجية الحالية ثم إعادة تشكيلها ببطء.