首页 > 解决方案 > 如何使用 ApplicationRunner 进行测试

问题描述

我使用 Spring Boot 和 MongoDB 构建了一个 REST API。现在,我想对其进行测试,但首先需要将一些测试数据加载到测试数据库中。

这是我尝试过的:

@SpringBootTest
class AppTests {

    @Test
    void contextLoads() {
    }
    
    @Bean
    @Profile("test")
    public ApplicationRunner loadData() {
        return args -> {
            // insert data into test db
        };
    }

}

这是我发现的 data-test.sql 的替代方法。

为什么这不起作用?如果我将 loadData 方法移动到 src/main/java/com/example/App.java,它可以工作,但是代码是杂乱无章的。

标签: javaspring-boottesting

解决方案


推荐阅读