2014-12-16 9 views
0

Я изо всех сил пытаюсь развернуть utPLSQL, чтобы улучшить качество в моем текущем проекте. Проблема в том, что в настоящее время существует почти 1000 таблиц базы данных и около 800 пакетов PL/SQL. Кроме того, я очень новичок в среде utPLSQL, но имею некоторый опыт работы с SQL и PL/SQL.utPLSQL и существующие данные?

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

Я читал Кевин МакКормак «s статья Continuous Integration with Oracle PL/SQL, utPLSQL and Hudson, но проблема в том, что я не могу тратить слишком много времени для чтения и пытаюсь найти решение до идеи использования рамки utPLSQL будет законсервирован организацией Я нахожусь для работы.

Любая помощь была бы очень признательна.

+0

Спасибо, Боб. Ваш ответ был очень полезным. – Jouni

+0

@Bob имеет правильный подход. Вы также можете использовать процедуры 'setup' и' teardown', чтобы помочь сохранить эти данные отдельно от фактического тестового кода. –

+0

Похоже, ваша организация использует серверы для разработки вместо рабочих станций. Пока разработчики не имеют собственную личную базу данных, а код «живет» в файлах, управляемых версиями, вероятно, нет хорошего способа добавить модульное тестирование. Ответ Боба может помочь, но во многих системах невозможно провести осмысленное тестирование внутри одной транзакции. –

ответ

1

При использовании utPLSQL у меня есть каждый тест, создающий любые необходимые ему данные, выполняйте тест против созданных данных, а затем откатывайте транзакцию в конце, которая эффективно удаляет тестовые данные из базы данных. Это занимает дополнительное время, потому что я должен выяснить, какие данные нужно создать, но гарантирует, что данные существуют, когда это необходимо, и не зависает, когда это не требуется, - и тесты не учитывают данные, которые может существовать или не существовать. YMMV.

Смежные вопросы