2

我有一组单元测试来测试我的 DAO 层。我有以下要求: - 对于一个测试子集,我需要禁用约束(外键,唯一,不为空)。- 对于其他子集,我需要保留它们(我在这里检查数据完整性)。

所以对于几个测试我想启用约束,其他的要禁用。

首先,我尝试使用 DbMantainer(Unitils 的一部分),因为它具有禁用约束选项。但在那之后,我查看了源代码,发现它只能在我开始迁移过程时删除(通过更改表)约束。约束被删除一次后(在我启动第一个测试之前),我不能启用他们以后的(完整性测试)。

所以我的问题是: 1. 你能推荐我其他可以禁用约束的工具(如 DbMantainer 或 Unitils)吗?2. 如果不存在这样的工具,您认为在 db 单元测试中禁用和启用约束的最佳选择是什么?

4

1 回答 1

2

您可以查看 DBUnit(JUnit 的扩展)

http://java.dzone.com/articles/solve-foreign-key-problems

http://raibledesigns.com/rd/entry/dbunit_tip_turn_off_foreign

谢谢

于 2014-06-04T11:32:38.920 回答