【问题标题】:Running Integration Tests with Seed data使用种子数据运行集成测试
【发布时间】:2014-01-04 15:38:34
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    您可以考虑为此使用 Spring。

    看看:

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

    您可以用

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

    这样,在测试方法之后什么都不会提交,您不必担心自己检查数据库状态。

    【讨论】:

      猜你喜欢
      • 2020-02-10
      • 2011-08-28
      • 1970-01-01
      • 2013-08-06
      • 2015-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多