Модульное тестирование SSDT. Переместить скрипты в файлы

Я хотел бы знать, возможно ли переместить сценарии тестирования из файла ресурсов во внешние отдельные файлы. Это облегчило бы процесс разработки. Вы можете использовать не только VS (разные IDE или SSMS и т. д.), чтобы просто проверять/изменять/разрабатывать их, даже не запуская SSDT. Кроме того, это поможет сохранить некоторую историю в системе контроля версий.

В настоящее время я могу изменить класс SqlDatabaseTestClass, чтобы перезагрузить скрипты из файлов, но это не повлияет на редактор/дизайнер модульных тестов SSDT в VS. Итак, он продолжает генерировать и загружать код из resx. Я хотел изменить/создать класс, отвечающий за SQL Unit Test SSDT Designer в VisualStudio, но не могу найти сборку для наследования от класса.

Может быть, есть что-то еще, что гораздо проще реализовать


person Andrey Borisko    schedule 30.07.2014    source источник
comment
Кстати, я попробовал наивный метод использования команды SQLCMD :r filename для включения реального файла в сценарий предварительного тестирования, но это совсем не сработало. Я предполагаю, что эти сценарии не используют SQLCMD.   -  person John Saunders    schedule 12.12.2014


Ответы (1)


Независимый от VS/SSMS подход заключается в использовании фреймворка модульного тестирования tSQLt с открытым исходным кодом. Тесты (и сам фреймворк) сохраняются в базе данных разработки как объекты SQL.

person David Atkinson    schedule 08.08.2014
comment
Спасибо, Дэвид, мы знали о tSQLt, но я думаю, что мы нашли баланс. Теперь, рядом с проектом SSDT Unit Testing, у нас также есть Проект базы данных со всеми физическими sql-файлами SP (представляющими тесты), которые мы легко проталкиваем/обновляем с помощью инструментов SSDT. В проекте SSDT Unit Testing мы просто называем эти SP отдельными тестами. Теперь управлять ими стало проще. - person Andrey Borisko; 13.08.2014
comment
Это не совсем ответ на вопрос. ОП не спрашивал: есть ли другие тестовые фреймворки, которые я мог бы использовать вместо этого. - person John Saunders; 08.12.2014