如何隔离集成测试?

时间:2018-06-25 13:01:31

标签: java spring-boot junit integration-testing

在许多集成测试中都有数据库操作时,如何确保自动进行任何测试(在某些框架下)前后数据库的状态相同?

我对手动方式(@Before @After)不感兴趣

1 个答案:

答案 0 :(得分:0)

我们在我公司所做的就是

  1. 我们使用事务来确保测试后数据库与之前的状态相同。
  2. 我们使用测试脚本来确保有效的测试数据(例如,针对特定的测试方案在某些表中插入一些额外的行,而对其他表进行更新)。您可以在setUp方法中执行这些脚本,以在多个测试案例中重复使用它们,甚至可以在可被多个测试套件重复使用的实用工具类中定义它们。

这在许多情况下都能正常工作,但是,如果您尝试测试应用程序中与嵌套事务相关的部分,则可能会出现问题。