我想用liquibase变更集进行模拟数据的集成测试,如何使其不影响真实数据库?我从这里找到了部分想法,但我使用的是springboot,我希望有更简单的解决方案。
您可以使用LiquiBase的上下文参数。例如,创建changeset,它将从sql文件加载插入并为其指定上下文。类似这样的事情:
<changeSet id="test_data_inserts" author="me" context="test">
<sqlFile path="test_data.sql" relativeToChangelogFile="true" />
</changeSet>
并且在spring Boot的application.properties
中为测试指定属性liquibase.contexts=test
。
我被要求在一个非常大的SpringBoot项目中为一个服务创建一个集成测试,该项目产生了几十个已实现的服务。当应用程序执行时,所有这些服务都被部署了——我希望避免部署与我正在为其创建测试的服务无关的所有服务。不幸的是,我(还)没有像我希望的那样有很多Spring启动测试的经验,因此我想知道解决这个问题的最佳方法是什么。 我曾考虑在测试类中使用注释对所有不相关的服务进行注释,并使用对所有相关服务进行
假设我有一个测试来断言系统中新用户的注册是否真的成功: 现在,这将在实际数据库中创建一个新的测试用户,因为我希望这个测试在实际环境中运行。这意味着测试不能一直运行,对吗?我应该如何进行此类测试?那些使用系统的实际环境并操纵真实数据的人?
我正在评估JHipster并测试它如何处理数据库DDL修改。在我的测试中,我创建了一个Jhipster项目,然后运行。JHipster生成了所有的集成测试,一切看起来都很好。所以我开始投入生产。但后来我意识到我在一组实体之间定义了错误的关系。原始的文件声明了一个关系。 为了修复这种关系,我尝试了三种方法。首先,我试图纠正文件中的关系,并重新运行。这做了我需要的正确更改,除了它覆盖了liquibas
问题内容: 我被要求为一个很大的SpringBoot项目中的服务创建一个集成测试,该项目会产生许多已实现的服务。执行该应用程序时,将部署所有这些服务- 我想避免部署与我正在为其创建测试的服务无关的所有服务。不幸的是,我对弹簧启动测试的经验还不如我所希望的那么多,因此我想知道解决这个问题的最佳方法是什么。 我当时正在考虑使用注解对所有不相关的服务进行注释,并在测试类中对所有相关的服务进行注释,但是我
我有一系列的集成测试,我想用这些测试来测试我的spring-MVC/spring-数据-JPA堆栈。不幸的是,构建时间是荒谬的,而且随着每一次新的集成测试,只会变得更糟。看起来每个单独的测试都要经历创建嵌入式数据库、bean创建等开销。 我有一个基本测试类: 其中我的jpaconfig.java: 最后我试着使用它,比如: 在查看构建日志时,我可以看到应用程序为每个测试初始化。有没有办法让Base