Можно ли провести модульное тестирование SQL (MS SQL Server 2005)? - PullRequest
1 голос
/ 10 февраля 2009

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

Есть ли способ автоматизировать эти проверки? Я даже не знаю, возможны ли модульные тесты для MS SQL, поэтому подойдет любой инструмент автоматического тестирования.

Спасибо.

Ответы [ 5 ]

5 голосов
/ 10 февраля 2009

SQLUnit сделан для хранимых процедур модульного теста.

Он основан на JUnit, поэтому может быть автоматизирован так же, как и любые тесты JUnit - подключаться к ANT, запускать с инструментами непрерывной интеграции и т. Д.

2 голосов
/ 10 февраля 2009

«Data Dude» существует как часть редакции базы данных Visual Studio 2008. Я не использовал его, но понимаю, что он отлично подходит для модульного тестирования SQL Server. http://blogs.msdn.com/gertd/archive/tags/DBUnitTesting/default.aspx

Также посмотрите шоу DotNetRocks 312 - Энди Леонард о модульном тестировании вашей базы http://www.dotnetrocks.com/default.aspx?showNum=312

1 голос
/ 27 ноября 2011

Здесь, в Red Gate, мы встроили в SSMS модуль модульного тестирования под названием SQL Test, основанный на инфраструктуре tSQLt. Мы были бы заинтересованы в обратной связи от всех, кто хочет автоматизировать тестирование SQL! Для получения дополнительной информации посетите www.sql-test.com

1 голос
/ 27 мая 2011

Попробуйте TST: http://tst.codeplex.com/

0 голосов
/ 13 августа 2013

Для полноты здесь приведена ссылка на фреймворк tSQLt , на который ссылается @DavidAtkinson. На первый взгляд это кажется многообещающим, в том числе предлагает простые способы создания поддельных таблиц на основе реальных, перемещение ограничений на поддельные таблицы и т. Д.

Ранее я использовал TST и был очень доволен этим. Похоже, что он активно не развивается.

Это было давно, но я думаю, что причина, по которой я использовал TST вместо tSQLt, заключается в том, что TST имеет свою собственную базу данных, тогда как tSQLt устанавливается в тестируемую базу данных. Мне понравилась идея разделения тестов и баз данных разработки. В моем случае у меня была одна база данных с платформой TST, одна с моими собственными модульными тестами и (пустая) база данных разработки, которая тестировалась.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...