Cucumber-js: Время для релиза? Программа форматирования сообщений не работает в последних версиях, но работает с master.

Созданный на 22 июн. 2020  ·  14Комментарии  ·  Источник: cucumber/cucumber-js

Всем привет,

В последнем выпуске форматировщик message , к сожалению, не работает. Это происходит в master , и это отличная новость. Было бы хорошее время для релиза? :)

Спасибо 💜

fixed-in-7

Самый полезный комментарий

@aslakhellesoy Прямо сейчас я работаю над # 1318, который добавляет проверку на CCK и обновления последних огурцов, сообщений и т. д. Просто прорабатываю оставшиеся пробелы, недолго осталось - планирую закончить в ближайшие пару дней. Я думаю, что после этого мы будем в хорошей форме, чтобы выпустить 7.0.0.

На самом деле я хотел проверить ваши намерения с пакетом javascript CCK - я заметил, что он был опубликован в npm под @cucumber/compatibility-kit некоторое время назад, но не обновлялся какое-то время. На данный момент я просто копирую файлы из монорепозитория, чтобы работать с ними, но наличие функций 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 Я использую их со своим собственным парсером, чтобы интегрировать их в автоматически сгенерированную документацию (в плагине для mkdocs), поэтому я использую --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 использовать эти сообщения.

Разве мы не делаем это уже для огурца-рубина и огурца-jvm?

А, хорошо, я не видел, что мы были в репозитории cucumber-js (это проблема при проверке уведомлений на телефоне ...).

Думаю, это выполнимо, но я не уверен, что мы должны делать это в самом монорепозитории, больше в этом репозитории. Для Ruby у нас есть две проверки, проведенные против CCK:

  • один выполняется в cucumber-ruby , который проверяет мастер огурца-рубина на соответствие последней версии сообщений (но использует мастер json-formatter и html-formatter )
  • один выполнен в монорепозитории, который использует текущий мастер сообщений и последнюю версию cucumber-ruby . Его пришлось отключить, так как были несоответствия между поддерживаемой версией сообщений для cucumber-ruby (его можно было снова включить, но после следующего выпуска сообщений его нужно было бы снова отключить)

И, насколько я помню, шаги JS уже реализованы для создания золотого NDJson с помощью fake-cucumber , так что эта часть почти завершена (возможно, придется обновить только импорт).

@aslakhellesoy Прямо сейчас я работаю над # 1318, который добавляет проверку на CCK и обновления последних огурцов, сообщений и т. д. Просто прорабатываю оставшиеся пробелы, недолго осталось - планирую закончить в ближайшие пару дней. Я думаю, что после этого мы будем в хорошей форме, чтобы выпустить 7.0.0.

На самом деле я хотел проверить ваши намерения с пакетом javascript CCK - я заметил, что он был опубликован в npm под @cucumber/compatibility-kit некоторое время назад, но не обновлялся какое-то время. На данный момент я просто копирую файлы из монорепозитория, чтобы работать с ними, но наличие функций 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. Массовая работа testResult -> testStepResult )

Мы действительно сократили релиз @sroze. Попробуйте @cucumber/cucumber - это предварительный выпуск. См. Руководство по

Отлично, я попробую, спасибо! Не знал, потому что тег не был добавлен 🙃

Спасибо за внимание @sroze - я действительно забыл

Есть ли какие-либо мысли о таком пакете, который поможет большему количеству людей открыть для себя новую версию?

Выпущена версия 7.0.0, инструкции по миграции см. В журнале изменений . Спасибо!

Была ли эта страница полезной?
0 / 5 - 0 рейтинги