【问题标题】:Should I add a "real-delete" method on DAO for integration test?我应该在 DAO 上添加一个“真实删除”方法来进行集成测试吗?
【发布时间】:2016-04-23 09:28:18
【问题描述】:

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

由于政策原因,我们只能通过 Hibernate 和 MyBatis 等工具访问数据库,不能直接连接。但是,我们在 DAO 上的delete() 方法始终是软删除风格(即打开is_delete 标志。)所以清理实际上只是打开is_delete 标志,而伪造的数据是还在!

那么,我应该在 DAO 上添加一个“real-delete”方法来进行集成测试,还是有更好的方法来处理这个问题?

【问题讨论】:

    标签: testing integration-testing dao


    【解决方案1】:

    添加真正的删除方法并没有错 - 毕竟,集成测试的目的是同时测试所有组件,以模拟它们的实际使用方式。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-29
      • 1970-01-01
      • 1970-01-01
      • 2011-02-22
      • 2010-09-27
      相关资源
      最近更新 更多