【发布时间】:2014-08-02 11:42:25
【问题描述】:
我想使用 BDD 和 Cucumber 编写一个 JavaFX 应用程序。
我已经找到了可以帮助我的 TestFX 库,但仍然没有找到合适的设置。我的主要问题是针对不同场景重新启动应用程序。
我想写一个这样的后台步骤:
Given that the application is freshly launched
这一步可以实现
thread = new Thread(() -> Application.launch(appClass));
thread.start();
但是,JavaFX 生命周期禁止重新启动应用程序。我的下一个想法是让应用程序活着,但在每个场景之前重置应用程序的场景。在这里,我实际上是挂着的。到目前为止,我还没有找到一种方法来获取启动的应用程序实例并将新场景设置到它的舞台。有什么建议吗?
或者有没有更简单的方法用 JavaFX 做 BDD?
【问题讨论】:
-
现在,我转向了一个替代方案,不是测试 gui 本身,而是测试 GuiModel。该架构是一种扩展的 MVC,其中我有一个模型、一个控制器、一个视图模型(在接口后面)和 fxmlController。控制器监听模型和视图模型并对其进行操作。 viewmodel 只是对与 gui 相关的东西进行建模,并且是唯一知道 fxmlController 的类。出于测试目的,我将视图模型替换为 dummyViewModel,从那里发送事件并检查其状态。
标签: testing javafx cucumber bdd