TSQLt — Как подделывать/издеваться над последовательностями

Я создаю различные модульные тесты для нашей базы данных с использованием фреймворка tSQLt. Многие из наших хранимых процедур вставляют записи в различные таблицы. Эти процедуры напрямую вызывают наши последовательности для создания идентификаторов для вставляемых записей:

SET tID = NEXT VALUE dbo.TableName_SEQ

При создании модульного теста для процедур, ссылающихся на эту последовательность, я попытался использовать tSQLt.RemoveObject, но получил ошибку:

Объект '[dbo].[TableName_SEQ]' не может быть переименован, поскольку объект участвует в принудительных зависимостях.

Поскольку тестируемая мной процедура напрямую использует эту последовательность, как мне с этим справиться? Существует ли какой-либо тип объекта tSQLt, который может подделывать последовательность, например 'FakeFunction', и вводить нужный идентификатор каждый раз при запуске?

Кир
Вопрос задан12 сентября 2024 г.

1 Ответ

Ваш ответ

Загрузить файл.