我正在使用
Spring-boot
和 Jpa
创建一个网络应用程序。一切正常。但在测试过程中,我必须手动创建对象实例并为每个测试填充数据库。我想知道是否可以备份嵌入式数据库并在每次测试开始时恢复它,从而消除测试代码中的混乱。
最好(也是最简单的方法)是使用 Spring 嵌入式数据库 + SQL 脚本来预加载数据库。 这个答案中描述了一种简单的方法。
一篇非常好的文章显示了每个测试的人口(以及整个设置)是:用于 Spring 集成/功能测试的设置和预加载数据库
Spring Boot 有多种初始化数据库的机制,最简单的一种可以说是 通过 Spring JDBC。您需要做的就是创建一个名为
data-test.sql
的文件(假设您的测试配置文件名为“test”),并通过纯 SQL 插入在其中定义所有数据。