يعد Senfgurke إطار اختبار مدفوعًا بالمثال لـ VBA. ماذا يعني هذا؟ باستخدام Senfgurke، يمكنك تحويل الأمثلة المقدمة باللغة الطبيعية إلى اختبارات آلية يتم تشغيلها بواسطة VBA (Visual Basic for Applications).
احذر! هذا هو العمل الجاري. قد تؤدي الإصدارات المستقبلية إلى فصل كود التشغيل الآلي للاختبار عن الإصدارات الأقدم!
تخيل أن شخصًا ما يطلب منك كتابة دالة مجموع "خاصة" جديدة لبرنامج Excel والتي تضيف قيمة 1 إلى النتيجة من خلال إعطائك هذا المثال:
Example: add +1 to sum
Given a is 2
And b is 3
When sum+1 is applied to a and b
Then the result is 6
يمكنك الآن إضافة هذا المثال إلى إحدى الميزات وحفظ كل شيء في ملف يسمى "sum_plus_one.feature" في دليل يسمى "الميزات". يجب أن يكون الدليل في نفس موقع ملف مكتبك الذي يحتوي على رمز VBA الخاص بك.
إذا قمت بتشغيل Senfgurke في المرة الأولى، فسوف يقترح عليك إضافة وظيفة جديدة مثل هذه:
Public Sub Given_a_is_INT_C722764574FB(step_parameters As Collection)
'Given a is 2
End Sub
من فضلك لا تخلط بين الجزء C722764574FB من اسم الوظيفة. تساعد قيمة التجزئة هذه Senfgurke على مطابقة الوظيفة بالخطوة الأصلية من المثال. الآن يعود الأمر إليك لملء الدالة بالكود، حتى تتمكن من اختبار وظيفتك الجديدة للتأكد من أن sum+1 يُرجع النتائج الصحيحة.
عندما تكرر هذا في كل خطوة من المثال وتقوم بتشغيل Senfgurke، فقد تتلقى هذا على وحدة التحكم:
Feature: sum plus one
Rule: add one to sum results
Example: add +1 to sum
OK Given a is 2
OK And b is 3
OK When sum+1 is applied to a and b
OK Then the result is 6
بهذه الطريقة يخبرك Senfgurke ما إذا كان الكود الخاص بك ناجحًا أو تسبب في أي خطأ.
يتم توفير Senfgurke كتطبيق إضافي محدد. بهذه الطريقة يمكنك بسهولة فصل التطبيق قيد الاختبار عن إطار اختبار Senfgurke. لبدء تطبيق VBA جديد، اتبع الخطوات التالية:
ستوضح خريطة الحدث التالية ما سيحدث عندما تطلب من Senfgurke تنفيذ ميزاتك.
تبدأ الاختبارات عادةً من نافذة وحدة تحكم VBA. بهذه الطريقة يمكنك إضافة علامات أو عوامل تصفية (لأسماء الملفات) لتقييد التشغيل الاختباري بعلامات أو ملفات ميزات محددة.
أول شيء سيفعله Senfgurke هو البحث عن ملفات الميزات وتحميلها في الذاكرة لمعالجتها لاحقًا.
إن وجود جميع الميزات في الذاكرة يجعل من السهل على Senfgurke ترجمة (تحليل) لغة Gherkin إلى تعليمات مفصلة للتنفيذ لاحقًا. على سبيل المثال، قد يتم تجاهل الأمثلة التي لا تحتوي على علامات مطابقة تم تعيينها في بداية الاختبار للتنفيذ لاحقًا أو ستتم إضافة خطوات الخلفية من الميزة إلى كل مثال (المعروف أيضًا باسم السيناريو) في هذه الميزة.
من الواضح أن الخطوة التالية تتعلق بتنفيذ جميع تعليمات التنفيذ التفصيلية من الخطوة السابقة. وسيشمل ذلك أيضًا إرجاع جميع نتائج التنفيذ.
بالتوازي مع تنفيذ الميزات المذكورة أعلاه، سيتم الإبلاغ عن النتائج بتنسيقات مختلفة. الافتراضي هو التنسيق المطول الذي يكتب ميزات Gherkin إلى نافذة وحدة التحكم VBA فقط عن طريق إضافة نتيجة التنفيذ إلى كل خطوة من الأمثلة.
في نهاية كل اختبار تشغيل، سيضيف Senfgurke بعض الإحصائيات، على سبيل المثال المدة وعدد الخطوات النموذجية المنفذة.
للحصول على وثائق أكثر تفصيلاً، يرجى الاطلاع على ملفات الميزات الخاصة بـ Senfgurke بدءًا من الفهرس الذي تم إنشاؤه بواسطة مفهرس الميزات.
يوضح مخطط كتلة FMC أن الإعداد النموذجي يتكون من ثلاث طبقات:
راجع سجل قرارات الهندسة المعمارية للتعرف على بعض القرارات العامة.
يجب أن تضمن البنية متعددة الطبقات فصل الوظائف التي توفرها Senfgurke عن منطق التطبيق.
TBC