我应该添加"真正删除" DAO的集成测试方法?

时间:2016-04-23 09:28:18

标签: testing integration-testing dao

我正在为一些遗留代码编写一些集成测试。为确保函数按预期运行,我需要设置虚假数据,调用测试API,然后清理数据。

由于政策原因,我们只能通过Hibernate和MyBatis等工具访问数据库,从不直接连接。但是,我们在DAO上的delete()方法总是采用软删除方式(即打开is_delete标志。)因此清理实际上只是打开is_delete标志,假数据仍在那里!

那么,我应该添加"真正删除"用于集成测试的DAO方法,还是有更好的方法来处理这个问题?

1 个答案:

答案 0 :(得分:0)

添加真正的删除方法没有任何问题 - 毕竟,集成测试的重点是将所有组件一起测试,以便模拟实际使用它们的方式。

我只是确保如果你这样做,你首先要添加你知道不会重复的记录。然后,您可以断言这些记录存在于数据库中,删除它们并断言它们不再存在。这样您就可以确保测试永远不会删除真实数据。