Тесты схемы и хранимой процедуры с использованием Nunit - PullRequest
9 голосов
/ 16 августа 2011

У нас есть различные системы, в которых большая часть нашей бизнес-логики находится в рамках хранимых процедур. Нам нужно написать несколько тестов, которые в основном проверяют, изменились ли данные ожидаемым образом при запуске хранимого процесса. Я также хотел бы получить некоторые базовые тесты схемы, входные и выходные параметры и т. Д.

Я смотрел тесты баз данных DBfit и MSTest, и в настоящее время я не продаюсь ни на одном из них. Я использовал Nunit для тестирования кода на C #, и мне было интересно, будет ли использование Nunit хорошим альтернативным подходом к тестированию хранимых процедур из .net (возможно, с использованием EF4)

Что-то вроде

  • Данные настройки
  • Проверка данных
  • Выполнить процедуру
  • Проверка данных изменилась

Будет ли это подходящим методом проверки хранимых процедур? Есть ли другие, лучшие методы?

Мнения и отзывы будут оценены: -)

РЕДАКТИРОВАТЬ: я также хотел бы интегрировать это в наш процесс CI с помощью TeamCity

Ответы [ 2 ]

1 голос
/ 05 января 2014

Да, вы можете проводить тестирование в рамках VS и среды модульного тестирования.Однако вы можете также захотеть взглянуть на tSQLt решение для модульного тестирования для SQL Server.http://tsqlt.org/user-guide/

Red-gate предоставляет надстройку SSMS для поддержки этого подхода.http://www.red -gate.com / products / sql-development / sql-test /

Я считаю, что компоненты SQL для модульного тестирования и настройки производительности могут выполняться независимо от модульных тестов .NET.Я согласен с тем, что интеграция с вашим сервером CI и создание отчетов об успехах / неудачах с помощью механизма отчетов сервера CI является достойной целью.

0 голосов
/ 16 августа 2011

Может быть AnyDbTest может быть чем-то для вас в отношении модульных тестов.

Для проверки схемы и кода БД (SP и т. Д.) Используйте DB diff tool по вашему вкусу.Или, может быть, взгляните на bsn ModuleStore , который пытается решить проблемы с управлением версиями, обновлением и модульностью баз данных SQL Server.

...