У меня есть набор модульных тестов базы данных, которые были созданы.Чтобы реплицировать все тесты на любой машине, на которой я развернут, существуют сценарии для удаления базы данных и ее воссоздания.Тест будет работать для всех модульных тестов, кроме первого теста.
Причина, по которой первый тест не пройден, заключается в том, что я выполняю команду "dbcc checkident" перед каждым тестом и сбрасываю все идентификаторы, чтобы убедиться, что все идентификаторы совпадают.В новой таблице, которая никогда не вставлялась в нее, а затем выполнялась «dbcc checkident», идентификация начинается с 0, когда вставляется вместо 1.
Если я использую некоторые другие встроенные команды для проверкиидентичность в новой таблице, они возвращают 0 в качестве идентичности.Преимущество проверки через «dbcc checkident» состоит в том, что идентификатор возвращается как «NULL», если в него никогда не вставлялась строка.Только «dbcc checkident» сообщает нам через печатное сообщение и не может быть легко протестирован.
Как я могу проверить, что мне нужно сбросить идентификацию или нет с помощью команд базы данных, не вставляя строку, удаляя ее, затем сбрасываяпросто чтобы избежать сброса идентификатора в первой записи?
Пример вставки в таблицу
Идентификация после вставки строки в свежую таблицу без запуск "dbcc checkident" и установка идентификатора на 0 = 1
Идентификация после вставки строки в свежую таблицу и запуск"dbcc checkident" и установка идентификации на 0 = 0
Идентичность после вставки строки в существующую таблицу , которая была вставлена и запущена"dbcc checkident", и для идентификатора установлено значение 0 = 1