3

I am calling Cucumber JVM as part of a maven life cycle using the exec plugin. However, Cucumber seems to use System.exit() when it terminates so it prematurely stops my maven run. This forces me to fork it to a separate process but that presents issues when I am trying to debug a test.

Is there a way to politely ask Cucumber JVM to not use System.exit() when it terminates?

4

2 回答 2

4

(我假设有充分的理由不使用您正在调用的junit runner cucumber.api.cli.Main,如果任何一个假设都是错误的,请澄清问题)

考虑到大约 4 行代码,最简单/最方便的解决方案cucumber.api.cli.Main是编写自己的 main 方法,该方法是黄瓜的克隆,无需System.exit调用。

另外,您可以在他们的 github 站点上提出问题和/或向他们发送一个拉取请求,并对其Main类进行所需的调整(例如,如果设置了某些系统属性,则不要执行 system.exit)。

于 2013-08-27T14:55:13.987 回答
1

调用命令行时,使用

mvn exec:exec

代替

mvn exec:java

以避免 maven 与 cucumber 在同一个 VM 中运行。 执行:执行 执行:java

于 2013-08-27T13:42:32.793 回答