Spring dbunit
spring-test-dbunit
提供了 Spring 与 DbUnit 的集成,在 Spring 中我们可以使用注解来进行数据的准备和清理。
配置
为了使用 DbUnit 的注解,我们需要使用 DbUnitTestExecutionListener
类,下面是典型的使用 JUnit 4 的注解
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration
@TestExecutionListeners({ DependencyInjectionTestExecutionListener.class,
DirtiesContextTestExecutionListener.class,
TransactionalTestExecutionListener.class,
DbUnitTestExecutionListener.class })
准备与清理
完成配置后,我们需要使用的注解是 @DatabaseSetup
和 @DatabaseTearDown
来进行数据库的数据初始化和重置。
初始化
下面是典型的注解使用,这里我们使用 sampleData.xml
作为数据文件,这个文件通常在测试类的同一个包下。
@DatabaseSetup("sampleData.xml")
你也可以使用其它路径,如
@DatabaseSetup("/META-INF/dbtest/sampleData.xml")
默认情况下,初始化的时候会进行 CLEAN_INSERT
操作,这意味着所有在数据文件,即这里的 sampleData.xml
中的表的数据,在插入数据时会被删除。这个是 DBUnit 的其中一个行为,详细的参考 DBUnit 的文档。
重置
@DatabaseTearDown
注解用来在测试完成之后重置数据,与 @DatabaseSetup
类似,可以使用在类上或方法上,它们有一样的属性可以设置。
注意:如果你将此注解与 &#