首页 > 解决方案 > SpringBoot 测试配置

问题描述

我在2.1.0版本开始学习Spring Boot,做了一个简单的应用Controller->Service->Repository->Database(H2)。非常非常简单的应用程序,只是从 Spring Boot 开始。

我已经读过,在那个框架中,我可以在src/resources下添加一个文件data.sql,我可以在其中定义插入/更新等,并在运行我的应用程序后存储数据。一切正常,但是当我想为我的服务编写测试时,只是为了检查我的存储库是否正常(我为了学习目的而测试数据库)我看到当我在我的数据库中运行我的测试时,已经有来自 data.sql 的值,但我在 test 文件夹下没有 data.sql 。它在 src 下。

也许有人知道,如何配置不从 src/resources 获取这个 data.sql 的项目?是否可以?也许我必须添加更多注释?

**** 编辑 ****

这是我的回购:

标签: javaspringspring-bootspring-data-jpaspring-boot-test

解决方案


您可以像这样在测试中创建测试并在测试application-test.propertiestest/resources 覆盖:

@RunWith(SpringRunner.class)
@SpringApplicationConfiguration(classes = ExampleApplication.class)
@TestPropertySource(locations="classpath:test.properties")
public class ExampleApplicationTests {

}

然后在您新创建application-test.properties的文件块中运行您的脚本:

spring.datasource.initialization-mode=never

推荐阅读