【发布时间】:2014-11-07 04:54:16
【问题描述】:
我正在尝试使用 dbunit 来测试系统的数据库。由于可以使用相同的数据集测试多个测试用例,因此我想为所有测试用例初始化一次数据集。但是我也使用spring的@AutoWire来初始化那些db连接参数。
我尝试使用@BeforeClass 和@AfterClass 来设置数据库。但事实证明@Autowire 在类启动时发生(似乎不适用于自动连接静态成员)。
所以想知道有没有其他方法可以在所有测试用例之前/之后设置/拆除 db 数据集?
我找到了一个优雅的解决方案:
How to allow instance methods to run as JUnit BeforeClass behavior
这篇文章基本上解释了一种改变 unittest runner 来触发事件的方法。 对于spring,也可以使用AbstractTestExecutionListener
【问题讨论】: