我有一组单元测试来测试我的 DAO 层。我有以下要求: - 对于一个测试子集,我需要禁用约束(外键,唯一,不为空)。- 对于其他子集,我需要保留它们(我在这里检查数据完整性)。
所以对于几个测试我想启用约束,其他的要禁用。
首先,我尝试使用 DbMantainer(Unitils 的一部分),因为它具有禁用约束选项。但在那之后,我查看了源代码,发现它只能在我开始迁移过程时删除(通过更改表)约束。约束被删除一次后(在我启动第一个测试之前),我不能启用他们以后的(完整性测试)。
所以我的问题是: 1. 你能推荐我其他可以禁用约束的工具(如 DbMantainer 或 Unitils)吗?2. 如果不存在这样的工具,您认为在 db 单元测试中禁用和启用约束的最佳选择是什么?