单元测试和外键问题

本文关键字:问题 单元测试 | 更新日期: 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"虚拟条目