当前位置: 首页 > 知识库问答 >
问题:

有没有办法使用Spring Boot、Liquibase和sql脚本进行集成测试?

元景天
2023-03-14

我使用liquibase来设置我的数据库模式。我禁用Hibernate来创建任何东西。正因为如此,我的import.sql被忽视了。在liquibase创建表后,有没有办法配置Spring引导或liquibase或任何其他部件来加载测试数据?

共有2个答案

颜志业
2023-03-14

最简单的方法似乎是使用liquibase加载数据。您可以使用普通变更集(XML或JSON)或SQL格式的变更集来完成。最常见的方法是加载CSV数据或运行现有SQL文件。

田丰
2023-03-14

如果您需要一些粗略的东西(例如,不是用于实际的数据迁移),您可以在Spring Boot中使用Spring的JDBC初始化器。简而言之,您需要:

  1. 创建数据测试。sql加载数据,并将其放置在src/main/resources目录中。对于不同的环境,只需使用命名约定data-{platform}。sql
  2. 添加应用程序测试。属性src/main/resources以及以下内容:spring。数据源。平台=测试#这将激活数据测试。sql高于spring。数据源。continueOnError=取决于您的需要
  3. 激活应用程序测试。属性在测试期间,请确保“测试”是集成测试期间激活的配置文件之一。一种方法是使用@ActiveProfiles({“test”,…})注释测试类

 类似资料:
  • 我正在寻找一种使用npm脚本来运行tsc的方法——看 tsc—执行watch,但从不调用nodemon,反之亦然。

  • 尝试在maven中重新访问Junit 5平台(5.3.2)下运行Junit 5/4集成测试。从如何使用maven failsafe插件并行运行JUnit 4和JUnit 5测试 在surefire插件2.22.1下运行单元测试可以并行和混合测试JUnit 5和JUnit 4,并在详细信息中查看工作线程。 在故障安全2.22.1中尝试了同样的方法,但是需要日志时间,并且似乎没有并行执行。而且只有[m

  • 问题内容: 我正在尝试使用Swift(不是Xcode项目)编写脚本。需要明确的是,我文件的第一行是 我只是从命令行调用它。 但是,我无法弄清楚该脚本如何使用另一个.swift文件中的代码。它不会从同一目录中拾取它,而且我看不到任何方法。 支持吗? 问题答案: 有更好的方法! 如果您要从中导入文件,将像:

  • 问题内容: 请考虑以下表格: 部 员工 编写查询以返回人员总数为4或更多的那些部门的雇员的empname和deptname列。记录应按姓氏的字母顺序返回 这是我的看法: 您将如何对此进行改进? 问题答案: 这比较短,而且执行速度可能也更快 从分组开始。您不需要内部查询中的COUNT。然后,联接两个表只是为了获得名称。 *之所以使用 *INNER JOIN, 是因为一旦计数完成,我们已经知道 员工存

  • 我有一些用MATLAB进行图像处理的代码。为了运行matlab代码,我们需要购买matlab许可证。但根据我的项目的要求,我必须使用任何开源软件。所以我想我可以把整个代码转换成Java。 用根啤酒是个好主意吗???

  • 我有几个繁重的Spring集成测试(是的,这不是最好的方法,我没有时间正确地模拟所有外部dep) 下面是测试的典型注释 由于以下原因,测试会定期失败: 这里有两个问题:1、让测试共存的正确方式是什么?我在surefire插件中设置了forkCount=0。好像有帮助 2.1. 在每次测试期间,我实际上不需要启动所有的