Cucumber-js: كيف سيعمل الخيار المتوازي مع بروتوكول الحدث؟

تم إنشاؤها على ٥ فبراير ٢٠١٨  ·  9تعليقات  ·  مصدر: cucumber/cucumber-js

المنسقات المخصصة التي ترتبط فقط بـ test-run-finished مثل تنسيق JSON تعمل على النحو المنشود عندما تكون متوازية ولكن المنسقات التي تستخدم أحداثًا سابقة مثل test-(step|case)-started ويتم ترتيبها يتم تسجيل إخراجها من التسلسل مما يؤدي إلى إبطال بنية مستند الإخراج. هل هناك أي شيء مخطط لمعالجة ذلك؟ هل يمكن تخزين الإخراج على أساس كل عامل وتسجيله مرة واحدة على المستوى الرئيسي بمجرد الانتهاء؟

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

نحن بحاجة إلى هذه الميزة كثيرا !!!

ال 9 كومينتر

أعتقد أن كل حدث يجب أن يحتوي على معلومات كافية لتتمكن من ربطه بالأحداث السابقة بدلاً من التخزين المؤقت.

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

  1. بيان "الافتتاح" عند حدث البداية ، في حالة "جميلة" - Scenario: Foo ، في حالة IntelliJ - تعليق بتنسيق TeamCity #teamcity[testStarted]
  2. قم بتشغيل الاختبار الذي يطبع السجلات الخاصة به بعد الإخراج الأولي للمنسق
  3. سجل الإغلاق في حدث النهاية ، أو pass/fail Summary أو ##teamcity[testFinished]

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

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

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

تتمثل الخطة في الانتقال إلى المُنسِّقات المستقلة التي تستهلك دفقًا من الرسائل من الخيار.

شاهد خريطة الطريق و dots-formatter و pretty-formatter (WIP) في monorepo

نحن بحاجة إلى هذه الميزة كثيرا !!!

أهلا! هل هناك أي فرصة لتشغيل خيار js بالتوازي مع جاذبية مراسل؟ عندما أحاول الجري باستخدام cucumber-js --parallel 2 -tdebug --format reporter.js: ./ dummy.txt حصلت للتو على TypeError: لا يمكنني قراءة الخاصية sourceLocation من undefined
شكرا لكم مقدما!

نفس مشكلة @ yevgen-getalo هنا.

يستخدم الإغلاق كـ v7.0.0 بروتوكول الرسائل الجديد المذكور أعلاه ، حيث يمكن ربط الأحداث $THING_started و $THING_finished معًا بشكل موثوق عبر المعرفات. يمكن أن يساعد الكائن eventDataCollector.query (مثيل @cucumber/query ) في بعض من هذا.

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