如何运行多个JavaFX测试?

时间:2019-08-07 18:33:12

标签: java spring-boot testing javafx junit

我必须使用Spring GUI测试某些JavaFx应用程序。不幸的是,我无法将它们一个接一个地运行。我正在使用Java 11JUnit 5.3TestFX库。

我尝试添加以下方法:

    @Before
    public void setUp() throws Exception
    {
        System.setProperty("spring.profiles.active", "test");
        launch(Main.class);
    }

,尽管我会再次重新启动应用程序并正常工作。不幸的是,只有一种测试以正确的方式开始并执行。在其他情况下,我会收到错误消息:

java.util.concurrent.ExecutionException: org.springframework.jmx.export.UnableToRegisterMBeanException: Unable to register MBean [HikariDataSource (HikariPool-2)] with key 'dataSource'; nested exception is javax.management.InstanceAlreadyExistsException: com.zaxxer.hikari:name=dataSource,type=HikariDataSource

整个测试类现在看起来像这样:



    @Before
    public void setUp() throws Exception
    {
        System.setProperty("spring.profiles.active", "test");
        launch(Main.class);
    }
    @Override
    public void start(Stage stage) throws Exception {
        stage.show();
    }
    @Test
    public void testRegisterButton()
    {
        clickOn("#register_button");
    }
    @Test
    public void testLoginButton()
    {
        sleep(200L);
    }
}

只有一个简单的示例测试。以前我做了 init()函数不带@Before,仅具有启动方法。

1 个答案:

答案 0 :(得分:1)

您是否尝试禁用JMX自动配置?

sharedPrefs

@Configuration
@EnableAutoConfiguration(exclude = {
    JmxAutoConfiguration.class
})