我有一套已创建的数据库单元测试。为了复制我部署到的任何计算机上的所有测试,可以使用脚本来删除数据库并重新创建它。除第一次测试外,测试将适用于所有单元测试。检查数据库单元测试的新表的标识
第一次测试失败的原因是,我在每次测试之前执行“dbcc checkident”命令并重置所有身份以确保所有身份都相同。在一个从未插入,然后具有“dbcc checkident”的新表上运行时,身份从0开始插入而不是1。
如果我使用其他内置命令检查身份在新表中,他们返回0作为身份。检查“dbcc checkident”的好处是,如果一行从未插入到标识中,则标识返回为“NULL”。只有“dbcc checkident”通过打印消息告诉我们并且不容易被测试。
如何验证我是否需要通过数据库命令重置身份而不插入行,删除它,然后重置仅仅是为了避免身份在第一条记录上脱落?
上插入行后插入在新鲜表中的行,而不运行“DBCC CHECKIDENT”和设置同一性0 = 1
标识之后插入到表
身份的实施例一个新表和正在运行“dbcc checkident”并将标识设置为0 = 0
在现有表的行上插入标识已将其插入并运行“dbcc checkident”并将标识设置为0 = 1