高效H2快照用于集成测试

问题描述 投票:0回答:1

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

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

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

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

RUNSCRIPT FROM '/path/to/dump.sql' CHARSET 'UTF-8'

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

由于不需要使用不同版本的H2恢复快照,我想知道是否有更快捷的方法来快照/恢复数据库?

也许通过访问底层的MVStore

java testing h2 snapshot
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.