Какой лучший способ проверить пакеты базы данных?
В настоящее время я работаю над проектом, в котором нам нужно протестировать пакеты и функции базы данных. Нам необходимо предоставить входные параметры для пакета базы данных и проверить, что пакеты возвращают ожидаемое значение, а также мы хотим проверить время ответа на запрос.
Пожалуйста, посоветуйте, если есть какой-либо инструмент для этого или мы можем написать наши тестовые примеры в Junit или какой-то другой среде. Какой из них будет лучшим подходом?
2 ответа
Я использовал более нативный подход, когда мне нужно было проводить тестирование DWH. Я организовал тестовую среду вокруг уже интегрированной инфраструктуры интеграции данных Dev. Поэтому у меня было много заданий многократного использования, конфигураций и кода. Но используя ООП, как вы предлагаете
напишите наши тесты в Junit
это тоже путь Но имейте в виду, что очень часто дизайн DWH является очень сложным (с большим количеством аспектов, которые необходимо учитывать), и взаимодействие со слоем постоянства не всегда является наилучшим кандидатом для стратегии тестирования. Более ориентированное на БД решение (например, tSQLt) предлагает значительную производительность.
Эти ресурсы мне очень помогли:
Моя платформа Acolyte предоставляет драйвер и инструменты JDBC, разработанные для таких целей (макет, тестирование,...): http://tour.acolyte.eu.org/
Он уже используется в некоторых проектах с открытым исходным кодом (Anorm, Youtube Vitess, ...), либо в vanilla Java, либо с использованием Scala DSL.
handler = handleStatement.withQueryDetection(...).
withQueryHandler(/* which result for which query */).
withUpdateHandler(/* which result for which update */).
// Register prepared handler with expected ID 'my-unique-id'
acolyte.Driver.register("my-unique-id", handler);
// then ...
Connection con = DriverManager.getConnection(jdbcUrl);
// ... Connection |con| is managed through |handler|