【问题标题】:Testing (JUnit) SQL DELETE and UPDATE statement without commiting在不提交的情况下测试 (JUnit) SQL DELETE 和 UPDATE 语句
【发布时间】:2018-03-05 19:47:30
【问题描述】:

有没有办法做到这一点?我想测试一些包含 DELETE 和 UPDATE 语句但不想提交更改的 SQL 请求。

【问题讨论】:

  • 关闭自动提交并在与 UPDATE 或 DELETE 相同的事务中执行 SELECT?
  • 您实际上需要测试什么?如果您跳过提交,您还将错过在可延迟约束中实现的任何检查(如果您的数据库支持它们)。通常,您测试数据访问,以便在运行测试之前设置数据库(专用测试数据库或内存数据库)并在运行测试后清理/丢弃数据库。
  • 在我看来,这听起来像是集成测试,而不是单元测试

标签: java sql commit


【解决方案1】:

确实取决于您使用的 RDBMS。在 Oracle 中,您可以回滚任何内容,直到执行提交。在事务性数据库中,通常有一个选项可以打开事务,处理一些数据,然后关闭或回滚。

最好的方法是用一个数据片制作一个表的副本,然后尝试那里的一切。

PS:别惹 Prod! :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-05
    • 1970-01-01
    • 2016-12-19
    • 2016-11-05
    • 1970-01-01
    • 2016-05-08
    相关资源
    最近更新 更多