我正在尝试在 IntelliJ 中测试 Java FX 应用程序并且我正在使用 TestFX 但是我不确定如何测试单击界面上的按钮时是否打开窗口。我尝试制作一个吸气剂来获得初级阶段,然后断言这将打开 - 但是这不是应该出现在按钮单击上的阶段。
有什么建议/帮助吗?
谢谢。
我正在尝试在 IntelliJ 中测试 Java FX 应用程序并且我正在使用 TestFX 但是我不确定如何测试单击界面上的按钮时是否打开窗口。我尝试制作一个吸气剂来获得初级阶段,然后断言这将打开 - 但是这不是应该出现在按钮单击上的阶段。
有什么建议/帮助吗?
谢谢。
如果您只想测试生成的 Window 是否显示这应该这样做(使用 Hamcrest 匹配器):
FxAssert.verifyThat(window("My Window"), WindowMatchers.isShowing());
如果您想实际进一步与该窗口交互或测试该窗口,那么您应该尝试使用 FXRobot 的 targetWindow(...) 方法之一(ApplicationTest 和 ApplicationRule 从中派生)。存在服务器过载,但最简单的一种是您提供窗口标题的位置:
这将为您提供该窗口场景的 FXRobot 实例,以便您执行进一步的测试。
注意:这个答案是指 TestFX 4。