我们在某些集成测试中使用H2,并针对数据库的特定状态运行多个测试步骤。
我们使用SCRIPT
转储(“缓存”)数据库状态:
2
并在每个测试步骤之前使用RUNSCRIPT
恢复转储:
SCRIPT TO '/path/to/dump.sql' CHARSET 'UTF-8'
如果测试步骤很短,则恢复数据库快照可能会占据测试总执行时间。
由于不需要使用不同版本的H2还原快照,我想知道是否存在更有效的快照/还原数据库方式?
也许通过访问基础的MVStore?
答案 0 :(得分:0)
根据测试的性质和数据,您可能需要以某种方式在逻辑上分离测试数据。冷杉示例测试一个测试使用1月1日的数据,另一个测试使用1月2日的数据。在这种情况下,您将用测试数据填充数据库一次,而无需在测试之间刷新数据库。