我有一个类我是单元测试,需要相当广泛的数据库设置才能运行各个测试方法.这种设置需要很长时间:由于希望与手头的问题无关,我需要以编程方式而不是SQL转储来填充数据库.
我遇到的问题是拆除.如何轻松回滚数据库设置阶段中所做的所有更改?
我目前正在使用Hibernate + Spring Transactional Testing支持,这样我的各个测试方法都包含在事务中.
一种解决方案是在每个测试方法中进行数据库设置,以便自动回滚数据库设置.但是,测试方法需要永远运行,因为每个方法都需要重新准备数据库.
还有其他想法吗?基本上,我正在寻找一种方法来运行我的数据库设置,运行我的单独测试(每个测试都包含在执行后回滚的事务中),然后回滚初始数据库设置.有关使其以Hibernate/Spring/Junit方式工作的任何想法吗?是否有一个Hibernate"drop all tables"等效命令?