黄瓜jvm似乎使用System.exit

时间:2013-08-27 13:39:05

标签: java maven cucumber-jvm

我使用exec插件将Cucumber JVM称为maven生命周期的一部分。但是,Cucumber似乎在终止时使用System.exit(),因此它过早地停止了我的maven运行。这迫使我将它分叉到一个单独的进程,但是当我尝试调试测试时会出现问题。

有没有办法礼貌地要求Cucumber JVM在终止时不使用System.exit()?

2 个答案:

答案 0 :(得分:3)

(我假设有一个很好的理由不使用junit runner&你正在调用cucumber.api.cli.Main,如果任何一个假设是假的,请澄清问题)

考虑到cucumber.api.cli.Main约为4行代码,最简单/最方便的解决方案是编写自己的主方法,即没有System.exit调用的黄瓜克隆。

另外你可以在他们的github网站上提出问题和/或向他们的Main类发送带有所需调整的pull请求(例如,如果已经设置了某些系统属性,请不要执行system.exit )。

答案 1 :(得分:1)

调用命令行时,请使用

mvn exec:exec

而不是

mvn exec:java

避免maven在与黄瓜相同的VM中运行。 exex:exec exec:java