0

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

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

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

3)魔术。

DBUnit 是如何工作的?谢谢。

4

1 回答 1

0

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

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

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

于 2015-05-12T06:52:33.727 回答