Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java TestFX测试通过,但没有通过_Java_Testfx - Fatal编程技术网

Java TestFX测试通过,但没有通过

Java TestFX测试通过,但没有通过,java,testfx,Java,Testfx,我正在尝试为我的大学项目编写GUI测试。我正在尝试使用TestFX4.0.4来完成这项工作,但我遇到了一个问题。对于该项目,我们还必须使用与Travis的持续集成。这意味着我必须使GUI测试无头化。然而,当我试着无头运行我的测试时,它们失败了,而当它们满脑子的时候,它们通过了 这是我用来运行测试headless的代码: @BeforeClass public static void setupHeadlessMode() { System.setProperty("testfx.robo

我正在尝试为我的大学项目编写GUI测试。我正在尝试使用TestFX4.0.4来完成这项工作,但我遇到了一个问题。对于该项目,我们还必须使用与Travis的持续集成。这意味着我必须使GUI测试无头化。然而,当我试着无头运行我的测试时,它们失败了,而当它们满脑子的时候,它们通过了

这是我用来运行测试headless的代码:

@BeforeClass
public static void setupHeadlessMode() {
    System.setProperty("testfx.robot", "glass");
    System.setProperty("testfx.headless", "true");
    System.setProperty("prism.order", "sw");
    System.setProperty("prism.text", "t2k");
    System.setProperty("java.awt.headless", "true");
}
我运行的测试单击options按钮,该按钮将场景切换到options菜单,然后必须单击musicButton以切换是否播放音乐。在这种情况下,场景切换可能会导致故障,但我不知道如何避免这种情况。这是测试代码:

@Test
public void testMusicPlaying() {
    clickOn("#optionsButton");
    assertThat((boolean) ConfigLoader.get("musicPlaying")).isTrue();
    clickOn("#musicButton");
    assertThat((boolean) ConfigLoader.get("musicPlaying")).isFalse();
    clickOn("#musicButton");
    assertThat((boolean) ConfigLoader.get("musicPlaying")).isTrue();
}