Какие инструменты доступны для TDDD (разработка управляемой тестами базы данных)? - PullRequest
5 голосов
/ 30 сентября 2008

Примерно год назад я взял у Скотта Амблера Рефакторинг баз данных: эволюционный дизайн баз данных . Меня поразила идея, что, как вы можете разрабатывать свой код с помощью TDD, вы, вероятно, должны покрывать свои базы данных модульными тестами (по крайней мере) или даже писать тесты баз данных, прежде чем вносить изменения в схему, чтобы выполнять работу с базами данных. в стиле TDD.

Мне действительно нравится эта идея, и я уже некоторое время делаю это (хорошо, иногда я делаю это) вручную, просто пишу регулярные модульные тесты, которые соединяются с базой данных и проверяют ее структуру по заданной схеме. файл. Но я не нашел ни одного хорошего набора инструментов для управления изменениями базы данных, который мог бы помочь автоматизировать этот процесс. Кто-нибудь знает кого-нибудь?

Ответы [ 5 ]

4 голосов
/ 30 сентября 2008

Мне известны только две системы модульного тестирования:

Что касается управления изменениями, вот некоторые рекомендуемые инструменты:

Хотя я не уверен, действительно ли это то, что вы ищете.

1 голос
/ 30 сентября 2008

Я перепробовал большинство инструментов, упомянул Джон, но в основном остановился на написании тестов nUnit с использованием команд SMO и SQL. Я обычно проверяю структуру таблиц, хранимых процедур, представлений и функций. Возможность показать неудачный тест с боссом 14 из-за изменения типа данных, сделанного разработчиками, сделала всю работу более чем стоящей.

0 голосов
/ 30 сентября 2008

Инструмент ounit предназначен для PL / SQL Oracle, как junit для java. Мы используем это, чтобы "использовать" наши вызовы базы данных. Мы можем легко повторить их и сравнить результаты до и после изменений в коде или подчеркивании структуры данных.

0 голосов
/ 30 сентября 2008

UTPLSQL для PL / SQL

0 голосов
/ 30 сентября 2008

Предполагается, что в следующей версии Microsoft Visual Studio for Database они будут иметься.

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