以下是一些我非常不喜欢 dbunit 的地方:
1) 您无法指定插入的确切顺序,因为 dbunit 喜欢按表名对插入进行分组,而不是按您在 XML 文件中定义的顺序。当您的记录依赖于其他表中的其他记录时,这是一个问题,因此您必须在测试期间禁用外键约束......这实际上很糟糕,因为这些外键约束将在生产中被触发,而您的测试不会知道他们!
2) 他们似乎一心要强迫你使用 xml 命名空间来定义你的 xml ......老实说,我懒得这样做。我喜欢没有任何命名空间的 data.xml。有用。但他们如此坚决地反对它。
3)在每个测试的基础上创建不同的 xml 文件是很困难的,所以它实际上鼓励为你的整个应用程序创建数据。不幸的是,一旦数据变大并且事情变得复杂,这个过程也有点臃肿。必须有一种更好的方法将您的测试数据拆分成块,而不必在所有测试中复制/粘贴大量测试数据。
4) 在一个大的 xml 文件中跟踪 id 引用是不可能的。如果您有 130 个域类,那只会令人眼花缭乱。该模型根本无法扩展。
在 Spring/Hibernate 空间中是否有一些不那么臃肿和更好的东西?db unit 已经不再受欢迎,我真的在寻找更好的东西。