#sql #unit-testing #plsql #jmeter #oracle-sqldeveloper
#sql #модульное тестирование #plsql #jmeter #oracle-sqldeveloper
Вопрос:
Я хотел бы протестировать частные процедуры / функции в данном пакете pl / sql (среда oracle).
Мне нужен довольно простой тест (запустите процедуру, проверьте DB, существует ли строка / или проверьте возвращаемое значение), но в сложном наборе тестов.
Какой инструмент / подход вы бы мне порекомендовали? (Невозможно использовать платное решение).
Я использую SQL developer, поэтому вариант № 1 — это внутренняя платформа тестирования JUnit.
Другим вариантом является utPLSQL, чтобы быть более независимым от разработчика SQL.
Третий подход совершенно иной. Я бы использовал Apache JMeter для подключения к базе данных и записи тестов в JMeter. Я довольно хорошо знаком с этим инструментом. Недостатком является то, что мне, вероятно, было бы трудно / невозможно протестировать частные функции.
Ваше мнение?
Комментарии:
1. Вы пробовали кодировать с использованием BeanShell sampler, где вы пишете Java-код для достижения своей задачи?
2. В предыдущем проекте я большую часть времени использовал BeanShell sampler, потому что Java — мой основной язык программирования.
3. Концептуально, я думаю, вы не должны хотеть тестировать частные процедуры и функции в пакете. Спецификация — это контракт; вы должны протестировать контракт. Разработчик имеет право изменять частную реализацию, но не контракт (спецификацию).
Ответ №1:
Я не понимаю вашего «простого теста в сложном наборе тестов». Однако, если ваш основной сценарий тестирования:
- Настройте тестовые данные в таблицах базы данных
- Запустите подпрограмму PL / SQL
- Проверьте правильность измененных подпрограммой данных в таблицах базы данных
У меня для вас хорошая новость — http://dbfit.github.io/dbfit / — отличный инструмент для такого рода тестирования. Я использовал его несколько раз, и я им очень доволен.
О, и невозможно получить доступ к частным подпрограммам пакета. Вы можете получить доступ только к общедоступному интерфейсу пакета (спецификации).
Комментарии:
1. Спасибо за ваш ответ. Я попробую это.