我正在使用带有 groovy 和 fest 的 cucumber-jvm 来测试 Swing 应用程序。
每次运行场景时,都会创建主窗口应用程序(并在最后销毁)。
我怎样才能避免它?如何跨所有功能运行相同的窗口实例?
我正在使用带有 groovy 和 fest 的 cucumber-jvm 来测试 Swing 应用程序。
每次运行场景时,都会创建主窗口应用程序(并在最后销毁)。
我怎样才能避免它?如何跨所有功能运行相同的窗口实例?
Fest 需要与主窗口应用程序在同一个 Java 进程中,因此在步骤定义中调用 Fest 方法的 cucumber-jvm 东西在同一个进程中。在黄瓜场景完成后,它调用 System.exit() 来停止黄瓜所在的 java 进程(并且该进程是主应用程序窗口所在的进程)。
只需自己重新实现该部分,这样它就不会调用 System.exit() 并且最终不会破坏它。
(这是您需要重新实现的类https://github.com/cucumber/cucumber-jvm/blob/master/core/src/main/java/cucumber/api/cli/Main.java)