java - 有没有办法使用 Spring Boot、Liquibase 和 sql-script 进行集成测试?

标签 java spring hibernate spring-boot liquibase

我使用 liquibase 来设置我的数据库架构。我禁用 hibernate 来创建任何东西。因此,我的 import.sql 被忽略。在 liquibase 创建表后,有没有办法配置 spring boot 或 liquibase 或任何其他部分来加载测试数据?

最佳答案

如果你需要一些粗略的东西(即,不是用于实际的数据迁移),你可以使用 Spring's JDBC initializer in Spring Boot .简而言之,您需要:

  • 创建 data-test.sql加载您的数据,并将其放入您的 src/main/resources目录。对于不同的环境,只需使用命名约定 data-{platform}.sql
  • 添加 applications-test.propertiessrc/main/resources具有以下内容: spring.datasource.platform=test # this actives data-test.sql above spring.datasource.continueOnError=???? # depends on your needs
  • 激活 application-test.properties在测试期间,确保“test”是集成测试期间处于 Activity 状态的配置文件之一。一种方法是使用 @ActiveProfiles({"test", ...}) 注释您的测试类。 .
  • 关于java - 有没有办法使用 Spring Boot、Liquibase 和 sql-script 进行集成测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31355496/

    相关文章:

    java - 在 Spring Data (MongoDB) 中实现 findOne

    spring - 不同应用服务器上的DAO

    java - Ehcache 二级缓存不适用于 JPA 和 Hibernate?

    Java使用的内存多于堆大小(或正确大小的Docker内存限制)

    java - 从文件系统读取二进制文件作为 BLOB 以在 rhino 中使用 javascript

    java - Spring MVC注解配置问题

    Spring Boot 不读取 data.sql 但它读取 import.sql

    java - Hibernate 多对多标准投影

    java - hibernate 方言

    java - WSSEcurityContext 未出现在 WebLogic12c 上