Cucumber-js: مخطط السيناريو مع أمثلة متعددة

تم إنشاؤها على ٦ يونيو ٢٠١٨  ·  16تعليقات  ·  مصدر: cucumber/cucumber-js

مرحبا،
بادئ ذي بدء ، شكرًا جزيلاً على تطبيق JS Gherkin هذا.

مشكلتي:
لدي مخطط سيناريو مع بعض الأمثلة. يحتوي هذا السيناريو على خطوة للحصول على نقطة نهاية مع بعض عناوين url وأود الحصول على أمثلة أخرى في مخطط السيناريو هذا مع معلمات url.
ثم أريد تشغيل السيناريو وفقًا للأمثلة الأولى مضروبة بأمثلة أخرى. لذلك إذا كانت الأمثلة الأولى تحتوي على سبيل المثال على 4 صفوف والثانية 4 صفوف = 4 × 4 = 16 جولة.

في الأساس نفس
https://github.com/Behat/Behat/issues/1082

التعليق الأكثر فائدة

https://github.com/Behat/Behat/issues/1082 هو أنه يتم تنفيذ جدول الأمثلة الأخير فقط. أنا أعتبر ذلك منفصلاً عن ضرب جداول الأمثلة.

ملء مثال. هل تسأل عما يلي:

Scenario Outline:
  Given <a> and <b>

  Examples:
    | a  |
    | a1 |
    | a2 |
    | a3 |
    | a4 |

  Examples:
    | b  |
    | b1 |
    | b2 |
    | b3 |
    | b4 |

حيث يتم تشغيل 16 سيناريو مع المجموعات a1 / b1 ، و a1 / b2 ، و a1 / b3 ، و a1 / b4 ، و a2 / b1 ، إلخ. يصبح هذا الإعداد حاليًا 8 سيناريوهات حيث في أول 4 ب غير معرّف وفي الثانية 4 أ غير معرّف.

ال 16 كومينتر

أنا مندهش من أن هذا لا يعمل بالفعل. إنه بالتأكيد يعمل على Java و Ruby ....

أوافق على أنه ينبغي تنفيذه.

https://github.com/Behat/Behat/issues/1082 هو أنه يتم تنفيذ جدول الأمثلة الأخير فقط. أنا أعتبر ذلك منفصلاً عن ضرب جداول الأمثلة.

ملء مثال. هل تسأل عما يلي:

Scenario Outline:
  Given <a> and <b>

  Examples:
    | a  |
    | a1 |
    | a2 |
    | a3 |
    | a4 |

  Examples:
    | b  |
    | b1 |
    | b2 |
    | b3 |
    | b4 |

حيث يتم تشغيل 16 سيناريو مع المجموعات a1 / b1 ، و a1 / b2 ، و a1 / b3 ، و a1 / b4 ، و a2 / b1 ، إلخ. يصبح هذا الإعداد حاليًا 8 سيناريوهات حيث في أول 4 ب غير معرّف وفي الثانية 4 أ غير معرّف.

aslakhellesoy يضرب أمثلة الجداول في جافا / روبي؟ يتعامل Cucmber-js بشكل صحيح مع جداول أمثلة متعددة لمخطط تفصيلي لسيناريو واحد.

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

    Examples: of ordinary Latin character inputs
      | input |
      | a     |
      | z     |
      | 0     |

    Examples: of Unicode inputs
      | input  |
      | U+0046 |
      | U+0058 |

    Examples: of invalid inputs
      | input  |
      | <      |
      | </     |

بدلاً من المضاعفة:

    Examples: Usernames
         | username   |
         | admin      |
         | user       |
         | maintainer |
         | moderator  |

    Examples: Passwords
         | password |
         | valid    |
         | invalid  |

قد أكون على خطأ على الرغم من

لقد أخطأت في قراءة جداول المثال "المتعددة" ، والتي تعمل. ضرب جداول المثال (ضرب المصفوفة؟) لا يعمل. أعتقد أنه سيكون من الصعب بعض الشيء على الناس فهمه.

هل فكرت في عمل زوجي لإنشاء جدول أصغر؟

آسف لتضليلك بنشر تذكرة Behat. أحتاج بالضبط إلى ما يكتبه شارليرودولف ، حتى مع وجود كلمات رئيسية مختلفة.

شكرا.

znevrly أوافق على أن ضرب كل شيء سيكون مربكًا عند وضعه مقابل الأمثلة الحالية. أعتقد أن الزوج هو الحل المثالي حيث يمكنك تضييق نطاقه إلى مجموعة تمثيلية من حالات الاختبار. aslakhellesoy هل تعتقد أننا نريد بناء شيء مثل الزوجي في غيركين؟ (إذا تمكنا من تحديد واجهة لطيفة)

لا أعتقد أننا يجب أن نبني أسلوبًا ثنائيًا في Gherkin - سيكون ذلك بمثابة ميزة زحف. أعتقد أنه من الأفضل استخدام أداة قائمة بذاتها لإنشاء جدول ، ثم لصقه في ملف ميزة.

هذا لا يبدو مريحًا للغاية. أيه أفكار؟ :)

أي أفكار حول ماذا؟

للحصول على بعض الكلمات الأساسية لتحقيق السلوك الموصوف (ضرب جداول الأمثلة أو ضرب المصفوفة) دون الحاجة إلى إنشاء جداول يدويًا.

هل أدركت أنك تحتاج فقط إلى تشغيل الأداة الزوجية مرة واحدة لإنشاء جدول للصقه في مخطط السيناريو؟ لست متأكدًا مما يجعلك غير مرتاح حيال ذلك.

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

المزيد من الجداول التي تم إنشاؤها ليس واضحًا جدًا إذا كانت هناك كل المجموعات الممكنة أم لا. :(

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

كيف يمكنني استخدام هذا في الأمثلة - يجب أن يكون البريد الإلكتروني بتنسيق "first_name. [email protected] "

هل من الممكن اختيار سيناريو واحد فقط من الجدول النموذجي؟ دعنا نقول لدي

أ | ب | ج |
| حزمة | "HD" | "SHP" |
| PZ | "HD" | "SHP" |

إذا كنت من ملف ميزة واحد (دعنا نقول helloWorld.feature) أقوم باستدعاء ملف ميزة أخرى (Print.feature) يحتوي على مخطط سيناريو بالجدول أعلاه ، فهل من الممكن اختيار سيناريو للتشغيل من ملف الميزة الأول؟

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات