我正在为一个保留大量存储过程、表和外键的数据库编写VS2012上2008R2的存储过程单元测试。
对于每个存储过程测试,我会在执行测试之前在相关表中生成少量数据。
但我已经意识到这种做法会使测试非常敏感,特别是对于添加非空列或额外键等数据库更改。
这些更改的级联影响可能会导致必须保持大量测试同步。有些测试甚至与特定更改无关,但共享一个或多个相关表,因此在准备阶段失败。
此外,这种做法的一个相当不方便的后果是很难区分测试条件失败和准备期间键违规失败之间的差异。
从大规模考虑,工作时间后果可能会很严重。
到目前为止,我发现有关此主题的所有内容都太过笼统了。
现在的问题是:存在相关最佳实践来解决开发数据库中的测试数据与在测试中生成测试数据的问题吗?
对于每个存储过程测试,我会在执行测试之前在相关表中生成少量数据。
但我已经意识到这种做法会使测试非常敏感,特别是对于添加非空列或额外键等数据库更改。
这些更改的级联影响可能会导致必须保持大量测试同步。有些测试甚至与特定更改无关,但共享一个或多个相关表,因此在准备阶段失败。
此外,这种做法的一个相当不方便的后果是很难区分测试条件失败和准备期间键违规失败之间的差异。
从大规模考虑,工作时间后果可能会很严重。
到目前为止,我发现有关此主题的所有内容都太过笼统了。
现在的问题是:存在相关最佳实践来解决开发数据库中的测试数据与在测试中生成测试数据的问题吗?
[@Identity=]
'保留标识' - 表示是否应保留标识列的标识属性。如果@Identity
=1,则将保留标识属性;否则,虚假表将删除标识属性。默认值为@Identity
=0。" - MWillemse