Что люди используют для модульного тестирования своих хранимых процедур и т. Д. - PullRequest
6 голосов
/ 04 апреля 2011

Просто пытаюсь выяснить, что другие используют для тестирования своих процедур / запросов к базе данных и т. Д. Используете ли вы новые расширения Visual Studio, пользовательский код и т. Д.? Мне нужно кое-как сформулировать некоторые юнит-тесты, но я не совсем уверен, как я собираюсь строить тесты, чтобы мы могли легко регрессивно тестировать процедуры.

Ответы [ 4 ]

4 голосов
/ 04 апреля 2011

У нас большой успех с DbFit

4 голосов
/ 04 апреля 2011

У вас есть много вариантов - как вы уже упоминали - но для истинного модульного тестирования вы всегда хотите максимально приблизиться к тестируемому блоку, чтобы избежать проблем интеграции в ваших тестах. Для объектов базы данных это означает использование проектов модульного тестирования базы данных Visual Studio и написание SQL для модульного тестирования объектов базы данных, или использование какой-либо сторонней среды тестирования на основе SQL, такой как DBUnit.

В некоторых случаях вы можете захотеть использовать Linq-to-SQL для выполнения некоторых модульных тестов базы данных более лаконично / легко, чем это можно сделать в SQL, но этого следует избегать, если это абсолютно не необходимо для истинного модульного тестирования; В Linq-to-SQL (и любом другом пользовательском коде) появляются проблемы интеграции и дополнительные уровни, поэтому, если вы столкнетесь с ошибкой, вам сначала нужно убедиться, что это действительно ошибка в вашей базе данных, а не в вашей Linq-to-error. Подключение к базе данных SQL, код C # (например) и т. Д.

2 голосов
/ 05 апреля 2011

Это большой вопрос.Мы разработали нашу собственную библиотеку в 2007 году, описано здесь .Прошлой осенью я написал о извлеченных уроках за более чем три года его использования .

2 голосов
/ 04 апреля 2011

TST - инструмент тестирования T-SQL , он хорошо работает и прост в реализации.

...