使用种子数据运行集成测试

时间:2013-12-17 02:03:11

标签: java junit continuous-integration integration integration-testing

我正在编写一个集成测试套件,其中每个单独的测试在运行之前都依赖于种子数据。 (种子数据是我在运行系统之前初始化的默认数据。例如:默认权限,默认角色等)。每个集成测试都应该有一个拆卸方法,它确保它以与给定条件相同的条件向系统返回种子数据。如果种子数据有任何更新,则应将其恢复为原始状态。有没有一种方法可以在每次集成测试运行之前验证数据库的状态以检查其初始状态?例如:我可以对种子表执行选择计数(*),但这对特定测试所做的任何更新都无济于事。另一种方法是在每次集成测试后加载种子数据,但这会增加我的集成套件运行所需的时间。我需要一些中间方法的帮助,我可以在每次测试运行之前确保数据库的状态,而不会丢弃并再次创建表。

1 个答案:

答案 0 :(得分:1)

你可以考虑使用Spring。

看看:

http://docs.spring.io/spring/docs/3.2.x/spring-framework-reference/html/testing.html

您可以使用

标记测试方法或测试类本身
@Rollback

这样,在测试方法之后没有任何提交,你不必担心自己检查数据库状态。