我正在努力加快运行我的集成测试套件。对于我所拥有的每个集成测试类,它在运行测试之前从头开始重新创建整个内存中的H2数据库 - 这占用了大部分时间。我正在测试的所有方法都在Spring / Hibernate堆栈中。
有没有办法避免为每个测试重新创建数据库,同时确保数据库处于干净状态?
我正在测试一些启动新Hibernate事务的调用方法的方法 - 因此不确定是否可以在每次测试之前开始新事务并在之后回滚所有事务。
答案 0 :(得分:1)
将@Transactional
与@RunWith(SpringJunit4TestRunner.class)
一起使用时,这是默认行为(回滚)。
有关完整信息,请参阅Integration Testing Chapter。