我使用exec插件调用Cucumber JVM作为maven生命周期的一部分。但是,Cucumber在终止时似乎使用了System.exit(),因此它过早地停止了maven的运行。这迫使我将它分送到一个单独的进程,但当我试图调试测试时,这会出现问题。
是否有一种在终止时礼貌地要求Cucumber不要使用System.exit()的方法?
发布于 2013-08-27 14:55:13
(我假设有一个很好的理由不使用junit运行程序&您正在调用cucumber.api.cli.Main,如果这两种假设都是错误的,请澄清问题)
考虑到cucumber.api.cli.Main是大约4行代码,最简单/最方便的解决方案是编写您自己的主要方法,即在没有System.exit调用的情况下克隆黄瓜方法。
另外,您可以在他们的github站点上提出这个问题,并/或向他们发送一个对其Main类进行必要调整的拉请求(例如,如果设置了某些系统属性,就不要执行system.exit )。
发布于 2013-08-27 13:42:32
调用命令行时,请使用
mvn exec:exec而不是
mvn exec:java为了避免这个maven运行在与黄瓜相同的VM中。exex:主管 exec:java
https://stackoverflow.com/questions/18467115
复制相似问题