Cucumber-js: Bagaimana opsi paralel bekerja dengan protokol acara?

Dibuat pada 5 Feb 2018  ·  9Komentar  ·  Sumber: cucumber/cucumber-js

Pemformat khusus yang hanya mengaitkan test-run-finished seperti pemformat JSON berfungsi sebagaimana dimaksud ketika diparalelkan tetapi pemformat yang menggunakan peristiwa sebelumnya seperti test-(step|case)-started dan diurutkan memiliki keluaran keluar dari urutan yang membatalkan struktur dokumen keluaran. Apakah ada rencana untuk mengatasinya? Mungkin buffer output per basis pekerja dan log semuanya sekaligus pada master setelah selesai?

Komentar yang paling membantu

Kami sangat membutuhkan fitur ini!!!

Semua 9 komentar

Saya pikir setiap acara harus berisi informasi yang cukup untuk dapat menautkannya ke acara sebelumnya daripada buffering.

Tidak yakin bagaimana itu akan berhasil jika hanya acara 'akhir' yang terhubung karena akan kehilangan awal dari hasil pengujian. Untuk menggunakan formatter cantik dan test runner editor berbasis IntelliJ sebagai contoh, mereka bekerja sebagai berikut:

  1. Log pernyataan 'pembukaan' pada acara awal, jika cantik -- Scenario: Foo , dalam kasus IntelliJ -- komentar berformat TeamCity #teamcity[testStarted]
  2. Jalankan tes yang mencetak lognya sendiri setelah keluaran awal formatter
  3. Log pernyataan penutup pada acara akhir, ringkasan pass/fail atau ##teamcity[testFinished]

Urutannya penting karena memiliki pernyataan pembuka sebelum apa pun yang dicatat oleh tes dan pernyataan penutup setelahnya dan tidak ada tes lain yang harus mencatat apa pun secara paralel dengan itu atau mereka akan mencampuradukkan output mana yang termasuk dalam tes mana. Buffering tampaknya akan mengatasinya karena setiap output akan diisolasi dan masuk master dalam operasi atom.

Kita dapat memberikan opsi isParallel kepada pemformat khusus untuk memberi tahu mereka bahwa mengeluarkan sesuatu pada peristiwa yang dimulai dengan kasus uji / langkah uji akan menjadi campur aduk dan dengan demikian mereka seharusnya hanya menampilkan pada peristiwa yang diselesaikan kasus uji.

Kami membutuhkan lebih banyak diskusi tentang masalah ini. Saat ini, menggunakan formatter apa pun memiliki risiko crash runner mentimun karena konflik I/O saat mencoba menulis ke terminal. Pemformat bilah kemajuan akan ideal untuk pelari paralel, jika hanya menggerakkan bilah dan kemudian melaporkan ringkasan di bagian akhir.

Rencananya adalah transisi ke formatter mandiri yang menggunakan aliran pesan dari mentimun.

Lihat peta jalan dan dots-formatter dan pretty-formatter (WIP) di monorepo

Kami sangat membutuhkan fitur ini!!!

Halo! Apakah ada peluang untuk menjalankan mentimun js secara paralel dengan reporter daya tarik? Ketika saya mencoba menjalankan dengan mentimun-js --parallel 2 -t @debug --format reporter.js:./dummy.txt saya baru saja mendapatkan TypeError: Cannot read property 'sourceLocation' of undefined
Terima kasih sebelumnya!

Masalah yang sama dengan @yevgen-getalo di sini.

Penutupan sebagai v7.0.0 menggunakan protokol pesan baru yang disebutkan di atas, di mana acara $THING_started dan $THING_finished dapat secara andal diikat bersama melalui id. Objek eventDataCollector.query (contoh dari @cucumber/query ) dapat membantu dengan beberapa hal ini.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat