Мы используем RedGate в сочетании с SQL Test (tSQLt). Для модульного тестирования мы устанавливаем фреймворк на каждую базу данных.
Есть ли способ использовать инфраструктуру tSQLt таким образом, чтобы ваши модульные тесты и объекты инфраструктуры могли находиться в одном центральном месте, которое затем можно было бы использовать в нескольких базах данных?
Мы также используем SQL Source Control RedGate с TFS в качестве нашего репозитория для отслеживания изменений схемы. Эти изменения продвигаются в следующем порядке среды: Разработка --> Тестирование --> Производство.
Излишне говорить, что добавление фреймворка в сочетании с самими тестами представляет собой большое количество новых объектов SQL (таблиц, хранимых процедур и т. д.) в наших базах данных. В идеале мы хотели бы, чтобы эти объекты находились только в разработке и тестировании и не загромождали нашу производственную базу данных. Мы могли бы пропустить слияние изменений tSQLt в Production, но тогда у нас остались бы неслитые изменения в системе управления версиями тестовой среды до скончания века.
Есть мысли как обойти эту проблему?