Создание ложных хранимых процедур - PullRequest
2 голосов
/ 03 февраля 2011

Есть ли простой способ автоматизировать / генерировать макеты или заглушки, основанные на хранимых в SQL процессах?

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

Ответы [ 3 ]

1 голос
/ 03 февраля 2011

Хотя менее автоматизированным, другой подход состоял бы в создании сценария, содержащего набор операторов выполнения для хранимых процедур, которые вас интересуют. Запустив их, вы могли бы захватить те, которые потерпели неудачу при наличии измененного параметра. Вы также можете написать скрипт процедуры exec store store в MS SQL

пример

exec [DATABASE].dbo.[StoredProc] parameter1, parameter 2

Это не обеспечит какой-либо механизм проверки результатов. Для более всестороннего подхода вы можете посмотреть на этот пример, собранный в новостной рассылке Simple-Talk, которая создает тестовый набор с использованием c # и NUnit.

«Закройте эти лазейки - тестирование хранимых процедур»

0 голосов
/ 03 февраля 2011

Вы можете создать тесты, которые вызывают хранимые процедуры (возможно, с фиктивными переменными), проверив INFORMATION_SCHEMA.PARAMETERS

Если вы запустите sp_recompile на таком тесте, хранимом в процессе, он не сможет скомпилироваться из-за неправильного количества параметров.

0 голосов
/ 03 февраля 2011

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

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