【问题标题】:Does DBUnit change the actual state of the database?DBUnit 会改变数据库的实际状态吗?
【发布时间】:2015-05-11 19:58:31
【问题描述】:

例如,在我为实际数据库设置数据源并使用@DatabaseSetup 将其设置为状态后,会发生以下哪种情况?

1) DBUnit 连接到实际数据库,删除所有内容,插入@DatabaseSetup 中指定的记录,测试用例然后回滚。

2) DBUnit 以某种方式基于数据源创建内存数据库,设置内存数据库。实际数据库中没有任何变化。

3) 魔法。

DBUnit 是如何工作的? 谢谢。

【问题讨论】:

    标签: spring integration-testing dbunit spring-test-dbunit


    【解决方案1】:

    DBUnit 完全按照您的要求执行。如果您将它连接到真实数据库,那么是的,它将作用于真实数据库。如果你告诉它作用于内存数据库,那么它就会这样做。

    如果您让它执行 CLEAN_INSERT,那么它将擦除您要求加载的数据集中指定的所有表中的所有数据,然后加载数据集,然后删除加载的数据集.它在开始时擦除的数据不会被放回原处。

    如果您使用 DBUnit 进行测试,通常不会将其指向真实(即生产)数据库。相反,您会创建某种副本并将其指向。该副本可能是您的数据库的真实实例,内存中的某个内容,它可以填充虚拟数据或真实数据的副本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-06
      • 2016-06-24
      • 2015-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多