لغة غيركين: بناء الجملة، والتنسيق، والأمثلة
⚡ ملخص ذكي
لغة غيركين هي لغة سهلة القراءة في مجال الأعمال، تصف سلوك البرمجيات دون الخوض في تفاصيل التنفيذ. وهي تستخدم الكلمات المفتاحية Given وWhen وThen لتعريف Cucumber سيناريوهات الاختبار بلغة بسيطة، تعمل كوثائق حية وهيكل لاختبارات BDD الآلية.

ما هي لغة غيركين؟
الجيركين خيار صغير هي لغة سهلة القراءة في مجال الأعمال تساعدك على وصف سلوك الأعمال دون الخوض في تفاصيل التنفيذ. وهي لغة خاصة بمجال معين لتحديد الاختبارات في Cucumber يستخدم هذا التنسيق لغة بسيطة لوصف حالات الاستخدام ويتيح للمستخدمين إزالة تفاصيل المنطق من اختبارات السلوك.
يُستخدم النص المكتوب بلغة غيركين كوثائق وهيكل أساسي لاختباراتك الآلية. تعتمد صيغة غيركين على قواعد تري توب، المتوفرة بأكثر من 37 لغة، مما يتيح لك كتابة غيركين بأكثر من 37 لغة منطوقة. يخدم هذا النص غرضين رئيسيين: توثيق سيناريوهات المستخدم، وتوفير الأساس لكتابة اختبارات BDD الآلية.
لماذا غيركين؟
بدون صيغة موحدة وواضحة، تصف فرق العمل والفرق التقنية المتطلبات بشكل مختلف، مما يؤدي إلى سوء فهم. يوفر Gherkin للجميع مفردات موحدة ومنظمة تُقرأ كاللغة الإنجليزية العادية، ومع ذلك فهي تتوافق مباشرة مع الاختبارات القابلة للتنفيذ.
تركيب غيركين
لغة جيركين هي لغة سطرية، تمامًا مثل لغة YAML و Pythonيُسمى كل سطر خطوة، ويبدأ بكلمة مفتاحية. تُستخدم علامات الجدولة أو المسافات للمسافة البادئة. يمكن إضافة تعليق في أي مكان، ولكن يجب أن يبدأ بعلامة #. يقرأ المفسر كل سطر بعد إزالة كلمات غيركين المفتاحية مثل Given وWhen وThen.
Feature: Title of the Scenario Given [Preconditions or Initial Context] When [Event or Trigger] Then [Expected output]
يحتوي مستند Gherkin على الامتداد .feature وهو ببساطة ملف اختبار ذو امتداد وصفي. Cucumber يقرأ مستند Gherkin وينفذ اختبارًا للتحقق من أن البرنامج يتصرف كما يصفه بناء جملة Gherkin.
المصطلحات المهمة المستخدمة في لغة غيركين
الكلمات الرئيسية هي: الميزة، الخلفية، السيناريو، المعطيات، متى، ثم، و، لكن، ومخطط السيناريو. Cucumber لا توجد قواعد صارمة للتسمية، ولكن وجود اتفاقية تسمية واضحة يساعد.
الميزات
يجب أن يكون امتداد الملف .feature، ويجب أن يصف كل ملف ميزة واحدة فقط. تبدأ الكلمة المفتاحية Feature بـ ميزة: متبوعًا بمسافة واسم الميزة.
سيناريو
قد يحتوي كل ملف من ملفات الميزات على سيناريوهات متعددة، ويبدأ كل سيناريو بـ السيناريو: متبوعًا باسم السيناريو.
نبذة عامة
تُضيف الكلمة المفتاحية "الخلفية" سياقًا للسيناريو. ويمكن أن تحتوي على خطوات مشتركة بين جميع السيناريوهات؛ والفرق هو أن هذه الخطوات تُنفذ قبل كل سيناريو.
معطى
تضع الكلمة المفتاحية Given النظام في حالة معروفة قبل أن يبدأ المستخدم بالتفاعل معه. وهي تحدد الشرط المسبق أو السياق:
Given I am on "/."
متى
تحدد الكلمة المفتاحية When الإجراء الذي يقوم به المستخدم:
When I perform "Sign In."
ثم
تُحدد الكلمة المفتاحية Then النتيجة التي تُلاحظ بعد الإجراء في خطوة When. يجب عليك التحقق فقط من التغييرات الملحوظة.
Then I should see "Welcome Tom."
ولكن
قد يكون لديك عدة خطوات "معطى" أو "عندما" أو "ثم". تضيف الكلمات المفتاحية "و" و"لكن" خطوات إضافية لتحسين سهولة القراءة.
And I enter "EmailAddress" with "tomjohn@gmail.com." But I should see "Welcome Tom."
تُعدّ الكلمات Given وWhen وThen وAnd وBut خطوات اختبار. لا يُصدر المُفسّر خطأً إذا بدّلتَ بينها، لكنّ السيناريو لن يكون منطقيًا، لذا استخدم كل كلمة مفتاحية للغرض المقصود منها.
أمثلة غيركين
مثال 1: ميزة تسجيل الدخول لموقع تواصل اجتماعي.
Feature: Login functionality of a social networking site Given I am a registered user When I enter my username And I enter my password Then I should be redirected to the home page
يقوم برنامج Gherkin بتحليل كل خطوة مكتوبة في ملف الميزات، ويجب أن تتطابق الخطوات الموجودة في ملف الميزات مع تلك الموجودة في ملف تعريف الخطوات.
مثال 2: سيناريو مصادقة المستخدم مع خلفية.
Feature: User Authentication Background: Given the user is already registered on the website Scenario: Successful login Given the user is on the login page When the user inputs the correct email address And the user inputs the correct password And the user clicks the Login button Then the user should be authenticated And the user should be redirected to their dashboard
أفضل الممارسات لاستخدام Gherkin
- ينبغي تنفيذ كل سيناريو على حدة وبشكل مستقل.
- ينبغي أن تكون كل ميزة قابلة للتنفيذ بشكل مستقل.
- يجب عرض معلومات الخطوة بشكل مستقل.
- اربط سيناريوهاتك بمتطلباتك و track ما هي السيناريوهات التي تنتمي إلى كل متطلب.
- قم بإنشاء خطوات معيارية سهلة الفهم وقم بدمج السيناريوهات الشائعة.
- صف ما يفعله النظام، وليس كيف يفعله.
مزايا غيركين
- لغة Gherkin بسيطة بما يكفي ليفهمها غير المبرمجين.
- يمكن للمبرمجين استخدامه كأساس متين لبدء اختباراتهم.
- فهو يجعل قصص المستخدمين أسهل في الفهم ويستهدف متطلبات العمل.
- بإمكان المديرين التنفيذيين في مجال الأعمال والمطورين قراءة نفس النص.
- تربط حالات اختبار Gherkin اختبارات القبول مباشرة بالاختبارات الآلية.
- أسلوب الكتابة هذا يجعل إعادة استخدام الكود في الاختبارات أسهل.
عيوب غيركين
- يتطلب ذلك مستوى عالٍ من المشاركة والتعاون بين الشركات.
- قد لا ينجح الأمر في كل الحالات.
- يمكن أن تؤدي الاختبارات المكتوبة بشكل سيئ إلى زيادة تكلفة صيانة الاختبارات.
