Регрессионные тесты для хранимых процедур T-SQL - PullRequest
5 голосов
/ 21 мая 2010

Я бы хотел провести регрессионный тест t-sql хранимых процедур. Моя идея состоит в том, чтобы указать для каждого SP несколько наборов входных параметров. SP должен быть выполнен с этими параметрами, результаты должны быть записаны на диск. В следующий раз новые результаты следует сравнить с результатами, сохраненными ранее.

Кто-нибудь знает хороший инструмент для чего-то подобного? Не должно быть так сложно реализовать, но на практике вам понадобятся такие функции, как «игнорировать этот столбец» или что-то в этом роде И я бы предположил, что такой инструмент уже должен существовать!?

ура, Ахим

1 Ответ

5 голосов
/ 27 мая 2010

Я бы использовал набор тестов, например DbUnit . DbUnit настроит вашу базу данных, запустит хранимую процедуру, а затем проверит результат и при необходимости откатит базу данных, готовую к следующему тесту. Он представляет входные данные и ожидаемые результаты в виде XML-файлов, которые можно преобразовать из данных и схемы, уже имеющихся в базе данных.

Для регрессионного теста вы используете db unit для однократного запуска тестируемых хранимых процедур и сбора выходных данных (без их проверки). Это определяет базовый уровень, с которым вы будете запускать последующие регрессионные тесты.

В DbUnit есть хорошая абстракция для табличных данных, которую можно получить из файлов CVS, файлов XML или объектов базы данных.

Входные данные теста и ожидаемые результаты легко различить и сохранить в системе управления версиями, поскольку они хранятся в формате XML. Как уже упоминалось, вы также можете загружать и сохранять данные из файлов CSV.

DbUnit - отличный инструмент для тестирования функций базы данных, страница проекта и FAQ - хорошие ресурсы для начала работы.

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