用于集成测试的高效H2快照

时间:2019-02-24 12:48:25

标签: java testing h2 snapshot

我们在某些集成测试中使用H2,并针对数据库的特定状态运行多个测试步骤。

我们使用SCRIPT转储(“缓存”)数据库状态:

2

并在每个测试步骤之前使用RUNSCRIPT恢复转储:

SCRIPT TO '/path/to/dump.sql' CHARSET 'UTF-8'

如果测试步骤很短,则恢复数据库快照可能会占据测试总执行时间。

由于不需要使用不同版本的H2还原快照,我想知道是否存在更有效的快照/还原数据库方式?

也许通过访问基础的MVStore

1 个答案:

答案 0 :(得分:0)

根据测试的性质和数据,您可能需要以某种方式在逻辑上分离测试数据。冷杉示例测试一个测试使用1月1日的数据,另一个测试使用1月2日的数据。在这种情况下,您将用测试数据填充数据库一次,而无需在测试之间刷新数据库。