Cucumber-js: حان وقت الإفراج؟ لا يعمل منسق "message" في الأحدث ولكنه يعمل على "رئيسي"

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

أهلا،

في الإصدار الأخير ، لا يعمل المنسق message للأسف. إنها تعمل بـ master ، وهي أخبار رائعة. هل سيكون الوقت المناسب للإفراج عنك؟ :)

شكرا 💜

fixed-in-7

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

aslakhellesoy أعمل على # 1318 في الوقت الحالي والذي يضيف التحقق من صحة CCK والتحديثات لأحدث gherkin ، والرسائل وما إلى ذلك. مجرد العمل على الفجوات المتبقية ، وليس لوقت طويل على اليسار - بهدف الانتهاء في اليومين المقبلين. أعتقد أننا سنكون في حالة جيدة لإصدار 7.0.0 بعد ذلك.

أردت التحقق من نيتك باستخدام حزمة javascript CCK في الواقع - لقد لاحظت أنه تم نشرها في npm تحت @cucumber/compatibility-kit منذ فترة ولكن لم يتم تحديثها منذ فترة. في الوقت الحالي ، أقوم فقط بنسخ الملفات من monorepo للعمل ضدها ، ولكن امتلاك ميزات CCK وتركيبات الرسائل باعتبارها تبعية قد يبدو طريقة لطيفة للقيام بذلك.

ال 14 كومينتر

مرحبًا sroze - هل اختبرت الرسائل التي تم إنشاؤها مع أي مستهلكين؟ إذا كان الأمر كذلك، وتلك التي؟

أود التأكد من أن المخرجات التي تم إنشاؤها تعمل مع ما يلي:

@ vincent-psarga - هل يمكننا تحديث cck للتحقق من صحة ذلك كجزء من بناء monorepo؟

يجب ترقية ما يلي قبل قطع الإصدار:

  • "cucumber-expressions": "^8.3.0" -> "@cucumber/cucumber-expressions": "^10.2.0"
  • "cucumber-messages": "^8.0.0" -> "@cucumber/messages": "^12.1.1"
  • "cucumber-tag-expressions": "^2.0.3" -> "@cucumber/tag-expressions": "^3.0.0"
  • "gherkin": "^9.0.0" -> "@cucumber/gherkin": "^13.0.0"

إذا تم إصدار إصدار بدون هذه الترقيات ، فإن الرسائل التي ينتجها المنسق message ستكون غير متوافقة مع أحدث إصدارات cucumber-html ، json-formatter وأي شيء آخر يعتمد على أحدث إصدار من @cucumber/messages . وهذا لن يكون مفيدًا لأي شخص على ما أعتقد.

aslakhellesoy أنا --format message:output.ndjson وأقرأ هذا الملف output.ndjson . حتى الآن جيد جدًا ، أفضل بكثير من إخراج JSON السابق يجب أن أقول 👌

@ vincent-psarga - هل يمكننا تحديث cck للتحقق من صحة ذلك كجزء من بناء monorepo؟

فقط للتأكد من فهمي لهذا الأمر بشكل صحيح: قم بتشغيل الإصدار الأخير xxx-formatter مقابل إصدار messages للتأكد من عدم تخطي إصدار من المُنسِّقات؟
هذا منطقي بالتأكيد. على الرغم من أنني لا أعرف ما إذا كان يجب أن يكون ذلك جزءًا من CCK أو وظيفة CI ثانية لكل منسق.

sroze رائع جدا! ضع في اعتبارك أنه كانت هناك بعض التغييرات غير المتوافقة مع الإصدارات السابقة في مكتبة @cucumber/messages من 8.0.0 إلى 12.1.1 . كما تم إعادة تسميته. أي مكتبة تعتمد عليها يجب أن يتم تحديثها أيضًا.

تستخدم تطبيقات Cucumber الأخرى (JVM / Java و Ruby) أحدث إصدارات مكتبة الرسائل ، لذلك لن تتمكن أداتك من استهلاكها.

sroze هل لديك رابط لمشروعك؟

@ vincent-psarga كنت أقترح أنه يمكننا التحقق من أن cucumber.js متوافق مع cck. سيتعين علينا تنفيذ تعريفات الخطوة ، وتشغيل cucumber.js باستخدام مُنسق الرسائل ، ثم التحقق مما إذا كان يمكن لكل من منسق json و html-formatter أن يستهلكا هذه الرسائل.

ألا نفعل هذا بالفعل مع cucumber-ruby and cucumber-jvm؟

آه حسنًا ، لم أرَ أننا كنا في الريبو cucumber-js (هذه هي المشكلة عند التحقق من الإشعارات على الهاتف ...).

أعتقد أنه سيكون ممكنًا ، لكنني لست متأكدًا من أننا يجب أن نفعل ذلك في monorepo نفسه ، أكثر في هذا المستودع. بالنسبة للياقوت ، لدينا عمليتان اثنتين من عمليات التحقق ضد CCK:

  • واحدة تم إجراؤها في cucumber-ruby ، والتي تتحقق من صحة الخيار روبي الرئيسي مقابل الإصدار الأخير من الرسائل (ولكن يستخدم سيد json-formatter و html-formatter )
  • واحد تم إجراؤه في monorepo ، والذي يستخدم الإصدار الرئيسي الحالي للرسائل وأحدث إصدار cucumber-ruby . كان لا بد من تعطيله نظرًا لوجود تناقضات بين إصدار الرسائل المدعومة من cucumber-ruby (يمكن إعادة تمكينه ولكن يجب تعطيله مرة أخرى بعد الإصدار التالي من الرسائل)

وبقدر ما أذكر ، تم تنفيذ خطوات JS بالفعل لإنتاج NDJson الذهبي fake-cucumber ، لذلك تم الانتهاء تقريبًا من هذا الجزء (قد يلزم تحديث الواردات فقط)

aslakhellesoy أعمل على # 1318 في الوقت الحالي والذي يضيف التحقق من صحة CCK والتحديثات لأحدث gherkin ، والرسائل وما إلى ذلك. مجرد العمل على الفجوات المتبقية ، وليس لوقت طويل على اليسار - بهدف الانتهاء في اليومين المقبلين. أعتقد أننا سنكون في حالة جيدة لإصدار 7.0.0 بعد ذلك.

أردت التحقق من نيتك باستخدام حزمة javascript CCK في الواقع - لقد لاحظت أنه تم نشرها في npm تحت @cucumber/compatibility-kit منذ فترة ولكن لم يتم تحديثها منذ فترة. في الوقت الحالي ، أقوم فقط بنسخ الملفات من monorepo للعمل ضدها ، ولكن امتلاك ميزات CCK وتركيبات الرسائل باعتبارها تبعية قد يبدو طريقة لطيفة للقيام بذلك.

شكرًا لك davidjgoss ، ونتطلع إلى التمكن من استخدام الإصدار الجديد. أثناء القيام بذلك ، هذا ما يجب علي فعله لاستخدام الإصدار master من cucumber-js . التحدي الرئيسي هو أنه في كل مرة أقوم بتشغيل npm i مرة أخرى ، يشكو npm من أن node_modules/cucumber هو مستودع Git. هل تعرف طريقة أفضل؟ 🤔

diff --git a/package.json b/package.json
index e78cd20..8702cb7 100644
--- a/package.json
+++ b/package.json
@@ -30,7 +30,8 @@
     "typeorm": "ts-node -r tsconfig-paths/register ./node_modules/typeorm/cli.js -f src/orm-migratio
ns-config.ts",
     "typeorm:migrate": "ts-node -r tsconfig-paths/register ./node_modules/typeorm/cli.js -f src/orm-
migrations-config.ts migration:run",
     "typeorm:revert": "ts-node -r tsconfig-paths/register ./node_modules/typeorm/cli.js -f src/orm-m
igrations-config.ts migration:revert",
-    "pod:migrate": "node ./node_modules/typeorm/cli.js -f dist/orm-migrations-config.js migration:run"
+    "pod:migrate": "node ./node_modules/typeorm/cli.js -f dist/orm-migrations-config.js migration:run",
+    "postinstall": "cd node_modules && mv cucumber cucumber-old && git clone https://github.com/cucumber/cucumber-js && mv cucumber-js cucumber && cd cucumber && npm i && npm run build-local && cd ../.."
   },
   "dependencies": {
@@ -86,7 +87,7 @@
     "@typescript-eslint/eslint-plugin": "^3.4.0",
     "@typescript-eslint/parser": "^3.4.0",
     "common-tags": "^1.8.0",
-    "cucumber": "^6.0.5",
+    "cucumber": "cucumber/cucumber-js#master",
     "cucumber-pretty": "^6.0.0",
     "cucumber-tsflow": "^3.2.0",
     "eslint": "^7.3.1",

هل يمكنني أن أكون مزعجًا وأطارد ما يلي لقطع الإصدار؟

  1. ✅aslakhellesoy التبعيات تم ترقية الواقع.
  2. تم دمج عمل ✅davidjgoss (الضخم) على CCK (والذي حدد بحق مشكلة testResult -> testStepResult )

لقد قطعنا بالفعل إصدارsroze. جرب @cucumber/cucumber - هذه نسخة تجريبية. راجع دليل الترحيل لمعرفة كيفية التحديث.

أوه رائع ، سأجربها ، شكرًا لك! لا أعرف لأنه لم يتم دفع أي علامة 🙃

شكرًا على التنبيهsroze - لقد نسيت حقًا دفع العلامة. الأمر متروك الآن.

هل لديك أي أفكار حول حزمة مثل هذه لمساعدة المزيد من الأشخاص على اكتشاف الإصدار الجديد؟

تم إصدار 7.0.0 الآن ، راجع سجل التغيير للحصول على إرشادات الترحيل. شكرا!

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