单元测试和外键问题
本文关键字:问题 单元测试 | 更新日期: 2023-09-27 17:50:41
目前我们的DBA在设计数据库时没有定义外键,这是为了让开发团队针对每个表分别为CRUD创建单元测试。
我们想让数据库团队开始在实际的DB中使用外键,但我们也想保持测试每个操作的能力,而不必创建父行。
是否有一种方法来禁用外键约束没有alter table权限?
你如何处理这种情况?
我们要求每个测试都设置它所期望的环境。这意味着,如果我们必须访问一个DB,每个测试首先设置它的环境。我们确实使用了一些辅助方法来填充数据库的公共部分,但我们不会干扰模式本身,因为这是在许多情况下被测试的一部分。
我们还通过使用内存数据库进行单元测试来简化这一点,因此每个测试都更加独立。
> ... we would also like to keep our ability to test each operation without
> having to create the parent rows.
> Is there a way to disable foreign key constraints without having alter
> table permissions?
不,不能禁用外键约束但是也许您可以在数据库中使用id为"-1"的Dummy-Parent-Objects,用于测试。的child-Items-parents然后可以引用"-1"虚拟条目