You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When cucumber-js has an internal error, it does not call the callback passed to Cli.run, leaving the caller unaware of failure. With blocking or callback steps this causes an unhandled exception. With Promise steps, this causes an unhandled rejection, which is not fatal and can leave the program hanging. As an example of real impact, this affects the following project: https://github.com/midniteio/multi-cuke/blob/v0.6.5/src/lib/worker.js where it performs multiple cucumber.Cli runs in forked node processes to parallelise testing. When the unhandled rejection occurs the worker does not know that cucumber has stopped executing.
The text was updated successfully, but these errors were encountered:
Thank you for the excellent write up! I actually ran into problem 1 for the first time today, and am good with your proposed solution. Problem 2 is quite tough to deal with, I like the idea of switching to promises
This issue repro's when another issue such as this one occurs #564
See problem 2 in https://github.com/efokschaner/cucumber-js-fails-when-step-error-is-not-exception for a full write up, summarized here:
When cucumber-js has an internal error, it does not call the callback passed to
Cli.run
, leaving the caller unaware of failure. With blocking or callback steps this causes an unhandled exception. With Promise steps, this causes an unhandled rejection, which is not fatal and can leave the program hanging. As an example of real impact, this affects the following project: https://github.com/midniteio/multi-cuke/blob/v0.6.5/src/lib/worker.js where it performs multiplecucumber.Cli
runs in forked node processes to parallelise testing. When the unhandled rejection occurs the worker does not know that cucumber has stopped executing.The text was updated successfully, but these errors were encountered: