DbUnit框架测试DAO层

问题描述:

通常我们从setup()提供输入文件来插入数据,这样每次测试都会插入数据,最后在测试后清除它。DbUnit框架测试DAO层

但是,这些数据适用于所有测试,并且如果测试次数更多,它会变得非常多。 因此,如果有任何方法可以给出测试特定输入(xml)文件,以便该特定文件将由setUp()中的DbUnit插入,因此开销较小。

任何建议表示赞赏。 谢谢。

我注意到你标记了Spring,你可以写一个org.springframework.test.context.TestExecutionListener做你需要的(扩展AbstractTestExecutionListener)。

beforeTestMethod(...)中使用DbUnit加载数据。使用TestContext检索有关testClass或testMethod的信息,并根据要加载的数据集来决定。例如,您可以创建一个新的注释来指定为测试方法加载哪个数据集。

卸载afterTestMethod(...)中的数据集(如果不使用作为事务的一部分插入的事务测试和数据)。

注册您TestExecutionListener使用@TestExecutionListeners注释 (重要TransactionalTestExecutionListener后指定它,如果你正在使用它,并希望该数据集的插入,形成交易的一部分)。

希望这会有所帮助。