تبسيط اختبار الوحدة في فيجوال ستوديو: دليل لتشغيل الاختبارات في مجلدات ومشاريع مختلفة

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

التحدي

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

  • تشغيل اختبارات الوحدة بشكل متكرر.
  • تنفيذ اختبارات التكامل فقط في سياقات معينة.

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

  • Alt+1: تشغيل الاختبارات في مشروع BLL.Test.
  • Alt+2: تشغيل الاختبارات في مشروع DAL.Tests.
  • Alt+3: تشغيل جميع الاختبارات في مجلد [Tests].
  • Alt+4: تشغيل الاختبارات في مجلد [Tests.Integration].

لحسن الحظ، هناك طريقة لتبسيط هذه العملية في فيجوال ستوديو.

حل عملي باستخدام الماكرو

يمكنك إنشاء ماكرو في فيجوال ستوديو يسمح لك بتشغيل الاختبارات في مشاريع أو مجلدات معينة باستخدام أمر بسيط من لوحة المفاتيح. إليك كيفية إعداد ذلك:

تعليمات خطوة بخطوة لإنشاء ماكرو

  1. افتح فيجوال ستوديو: قم بتشغيل بيئة فيجوال ستوديو الخاصة بك.

  2. أنشئ ماكرو مؤقت:

    • انتقل إلى القائمة: Tools > Macros > Record TemporaryMacro.
    • سيبدأ ذلك في تسجيل إجراءاتك.
  3. حدد مجلد اختبارك:

    • في مستكشف الحلول، حدد مجلد [Tests] (أو مجلد الاختبار الذي تريده).
  4. قم بتشغيل الاختبارات:

    • نفذ الأمر لتشغيل الاختبارات باستخدام ReSharper: ReSharper.UnitTest.ContextRun.
  5. أوقف التسجيل:

    • بعد الانتهاء، انتقل مرة أخرى إلى Tools > Macros وأوقف التسجيل.
  6. قم بتحرير الماكرو:

    • يمكنك العثور على الماكرو المسجل الخاص بك تحت Tools > Macros > MyMacros.
    • عدله ليلبي احتياجاتك (ستجد الكود لتشغيل مجلد الاختبار المحدد لديك).

مثال على ماكرو مسجل

إليك نموذج لكود ماكرو يمكنك تعديله ليتناسب مع هيكل مشروعك المحدد:

Sub TemporaryMacro()
    DTE.Windows.Item(Constants.vsWindowKindSolutionExplorer).Activate
    DTE.ActiveWindow.Object.GetItem("TestUnitTest\Tests").Select(vsUISelectionType.vsUISelectionTypeSelect)
    DTE.ExecuteCommand("ReSharper.UnitTest_ContextRun")
End Sub
  1. ربط الماكرو باختصار لوحة المفاتيح:
    • اذهب إلى Tools > Options > Environment > Keyboard.
    • ابحث عن ماكرو الخاص بك في القائمة وقم بتعيين اختصار لوحة مفاتيح له.

نهج أكثر عمومية باستخدام ملفات التكوين

بينما يوفر الأسلوب السابق حلاً قويًا لتشغيل الاختبارات، يمكن أن يكون أفضل إذا أخذت في الاعتبار نهجًا أكثر قابلية للتطوير. تخيل أن تكون قادرًا على تكوين أي المشاريع أو المجلدات أو الفئات التي يجب تشغيلها عبر ملف XML. يمكن أن يساعد هذا في:

  • تسهيل التحكم في الإصدارات.
  • ضمان أن الجميع في فريقك يتبع نفس عملية تنفيذ الاختبارات.

فوائد استخدام تكوين XML

  • الاتساق: يمكن لجميع المطورين مشاركة نفس التكوينات.
  • المرونة: تعديل أهداف الاختبار بسهولة دون الحاجة لتغيير الكود.
  • البساطة: يمكن لغير المطورين في فريقك إضافة أو تعديل إعدادات الاختبار دون الحاجة للانخراط في واجهة فيجوال ستوديو.

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