Система тестирования izh_test
Частные случаи
SQL запросы, хранимые процедуры и модели данных
На sql можно писать довольно сложную логику.
Триггеры, хранимые процедуры и функции и т.п.
Вот только со средствами тестирования этой самой логики всё обстоит гораздо сложнее.
Обычно не бывает средств позволяющих тестировать именно чисто логику БД без
обвязки на каком-нибудь языке.. Т.е. тесты если и пишутся, то с использованием средств,
предназначенных для тестирования кода на каком-то другом языке..
Хотя с другой стороны практически для каждой СУБД обычно поставляются
текстово-консольные утилиты, позволяющие выполнять sql-команды на сервере
и выводить их результат в текстовом виде. Для некоторых СУБД есть даже
утилиты позволяющие получить полный дамп СУБД в текстовом виде
(xml или csv или том же sql)
Этих возможностей вполне достаточно чтобы тестировать логику СУБД
при помощи izh_test. Общая схема тестирования следующая:
- Заполняем при помощи консольной утилиты базу данными.
-
При помощи консольной sql-утилиты выполняем тестовые действия
(в смысле, при которых должна использоваться тестируемая логика)
-
При помощи консольной утилиты проверяем содержимое СУБД "после тестов"
(то есть, выводим либо содержимое всей базы, либо результат конкретных
запросов в текстовый файл и сравниваем его содержимое с эталонным).