Cucumber-js: Waktu untuk rilis? Pemformat `message` tidak berfungsi di versi terbaru tetapi berfungsi di `master`

Dibuat pada 22 Jun 2020  ·  14Komentar  ·  Sumber: cucumber/cucumber-js

Hai, yang di sana,

Dalam rilis terbaru, sayangnya, formatter message tidak berfungsi. Itu di master , yang merupakan berita bagus. Apakah ini saat yang tepat untuk rilis? :)

Terima kasih

fixed-in-7

Komentar yang paling membantu

@aslakhellesoy Saya sedang mengerjakan # 1318 sekarang yang menambahkan validasi terhadap CCK dan pembaruan ke gherkin terbaru, pesan, dll. Hanya mengerjakan celah yang tersisa, tidak lama lagi - bertujuan untuk selesai dalam beberapa hari ke depan. Saya pikir kami akan berada dalam kondisi yang baik untuk merilis 7.0.0 setelah itu.

Saya sebenarnya ingin memeriksa niat Anda dengan paket CCK javascript - saya perhatikan itu diterbitkan ke npm di bawah @cucumber/compatibility-kit beberapa waktu yang lalu tetapi belum diperbarui dalam beberapa saat. Untuk saat ini saya hanya menyalin file dari monorepo untuk bekerja melawan, tetapi memiliki fitur CCK dan perlengkapan pesan sebagai ketergantungan akan tampak seperti cara yang bagus untuk melakukannya.

Semua 14 komentar

Hai @sroze -

Saya ingin memastikan output yang dihasilkan berfungsi dengan yang berikut:

@vincent-psarga - dapatkah kami memperbarui cck untuk memvalidasi ini sebagai bagian dari monorepo build?

Berikut ini harus ditingkatkan sebelum memotong rilis:

  • "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"

Jika rilis dibuat tanpa peningkatan ini, pesan yang dihasilkan oleh formatter message tidak akan kompatibel dengan rilis terbaru cucumber-html , json-formatter dan apa pun yang bergantung pada versi terbaru dari @cucumber/messages . Dan itu tidak akan berguna bagi siapa pun yang saya pikir.

@aslakhellesoy Saya sebenarnya menggunakannya dengan parser saya sendiri untuk mengintegrasikannya dalam dokumentasi yang dibuat secara otomatis (dalam plugin untuk mkdocs) jadi saya menggunakan --format message:output.ndjson dan membaca file output.ndjson . Sejauh ini bagus, jauh lebih baik daripada keluaran JSON sebelumnya saya harus mengatakan

@vincent-psarga - dapatkah kami memperbarui cck untuk memvalidasi ini sebagai bagian dari monorepo build?

Hanya untuk memastikan saya memahami ini dengan benar: jalankan rilis terbaru xxx-formatter terhadap rilis messages untuk memastikan kami tidak melewatkan rilis formatter ?
Itu pasti masuk akal. Meskipun saya tidak tahu apakah itu harus menjadi bagian dari CCK atau pekerjaan CI kedua untuk setiap formatter.

@sroze sangat keren! Ingatlah bahwa ada beberapa perubahan mundur yang tidak kompatibel di perpustakaan @cucumber/messages dari 8.0.0 menjadi 12.1.1 . Itu juga telah diganti namanya. Perpustakaan apa pun yang bergantung padanya harus diperbarui juga.

Implementasi Mentimun lainnya (JVM/Java dan Ruby) menggunakan versi terbaru dari pustaka pesan, sehingga alat Anda tidak akan dapat menggunakannya.

@sroze apakah Anda memiliki tautan ke proyek Anda?

@vincent-psarga Saya menyarankan agar kami dapat memverifikasi bahwa mentimun.js sesuai dengan cck kami. Kita harus menerapkan definisi langkah, menjalankan mentimun.js dengan pemformat pesan, dan kemudian memeriksa apakah pemformat json dan pemformat html dapat menggunakan pesan tersebut.

Bukankah kita sudah melakukan ini untuk mentimun-ruby dan mentimun-jvm?

Ah ok saya tidak melihat kami berada di repo cucumber-js (itu masalahnya saat memeriksa notifikasi di telepon ...).

Saya kira itu bisa dilakukan, tapi saya tidak yakin kita harus melakukannya di monorepo itu sendiri, lebih banyak di repositori ini. Untuk Ruby, kami memiliki dua validasi yang dijalankan terhadap CCK:

  • satu dilakukan di cucumber-ruby , yang memvalidasi master mentimun-ruby terhadap rilis pesan terbaru (tetapi menggunakan master json-formatter dan html-formatter )
  • satu dilakukan di monorepo, yang menggunakan master pesan saat ini dan rilis terbaru cucumber-ruby . Itu harus dinonaktifkan karena ada perbedaan antara versi pesan mentimun-ruby yang didukung (bisa diaktifkan kembali tetapi harus dinonaktifkan lagi setelah rilis pesan berikutnya)

Dan sejauh yang saya ingat, langkah-langkah JS sudah diterapkan untuk menghasilkan NDJson emas dengan fake-cucumber , jadi bagian ini hampir selesai (hanya impor yang harus diperbarui)

@aslakhellesoy Saya sedang mengerjakan # 1318 sekarang yang menambahkan validasi terhadap CCK dan pembaruan ke gherkin terbaru, pesan, dll. Hanya mengerjakan celah yang tersisa, tidak lama lagi - bertujuan untuk selesai dalam beberapa hari ke depan. Saya pikir kami akan berada dalam kondisi yang baik untuk merilis 7.0.0 setelah itu.

Saya sebenarnya ingin memeriksa niat Anda dengan paket CCK javascript - saya perhatikan itu diterbitkan ke npm di bawah @cucumber/compatibility-kit beberapa waktu yang lalu tetapi belum diperbarui dalam beberapa saat. Untuk saat ini saya hanya menyalin file dari monorepo untuk bekerja melawan, tetapi memiliki fitur CCK dan perlengkapan pesan sebagai ketergantungan akan tampak seperti cara yang bagus untuk melakukannya.

Terima kasih @davidjgoss , berharap dapat menggunakan versi baru. Saat ini sedang dilakukan, inilah yang harus saya lakukan untuk menggunakan master versi cucumber-js . Tantangan utamanya adalah setiap kali saya menjalankan npm i lagi, npm mengeluh bahwa node_modules/cucumber adalah repositori Git. Apakah Anda tahu cara yang lebih baik? 🤔

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",

Bolehkah saya mengganggu dan mengejar yang berikut untuk memotong rilis?

  1. @aslakhellesoy dependensi telah ditingkatkan memang.
  2. Karya @davidjgoss (besar-besaran) di CCK telah digabungkan (yang dengan tepat mengidentifikasi masalah testResult -> testStepResult )

Kami benar-benar memotong rilis @sroze. Cobalah @cucumber/cucumber - ini adalah pra-rilis. Lihat panduan migrasi untuk cara memperbarui.

Oh bagus, saya akan mencobanya, terima kasih! Tidak tahu karena tidak ada tag yang didorong

Terima kasih atas perhatiannya @sroze - Saya memang lupa untuk menekan tag. Terserah sekarang.

Adakah pendapat tentang paket seperti ini untuk membantu lebih banyak orang menemukan versi baru?

7.0.0 sekarang dirilis, lihat changelog untuk instruksi migrasi. Terima kasih!

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

lamartire picture lamartire  ·  6Komentar

hdorgeval picture hdorgeval  ·  3Komentar

NoNameProvided picture NoNameProvided  ·  5Komentar

jan-molak picture jan-molak  ·  4Komentar

edwinwright picture edwinwright  ·  3Komentar