java - 如何运行多个 JavaFX 测试?

标签 java spring-boot testing javafx junit

我必须使用 JavaFx GUI 测试一些 Spring 应用程序。不幸的是,我无法将它们一一运行。我正在使用 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,只有 launch 方法。

最佳答案

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

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

或者

spring.jmx.enabled = false

关于java - 如何运行多个 JavaFX 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57400409/

相关文章:

java - 交错式立体声 PCM 线性 Int16 大端音频是什么样的?

c# - 是否有任何类型的测试可以添加到我现有的解决方案中?

java - TestNG - 如何在 MultipleTest 类中调用单个测试类

testing - 带有 Xvfb 和 Selenium 的 Jenkins - Firefox 启动但没有执行

java - 有序集合和排序集合有什么区别?

java - 为什么在vertx的Handlebars库中调用Synchronize?

java - spring boot jpa - 生成并保存测试数据

java - 某些记录的 Azure eventhub Kafka org.apache.kafka.common.errors.TimeoutException

java - 是否有制作人类可读代码的基本标准和实践?

spring-boot - 如何使用 Spring Sleuth 记录 MDC?