Мы используем базу данных Oracle (или postgres) и сервер приложений для выполнения интеграционных тестов. Чтобы изолировать каждый тест от другого, схема базы данных удаляется и создается заново перед каждым тестом.
Как видите, это процесс, требующий времени. Приложение использует более 100 таблиц. Мы думаем о написании пользовательского sql для удаления ненужных данных из каждой таблицы. Есть ли лучший способ сохранить и восстановить состояние базы данных?
(Похоже, что DBUnit может это сделать, я еще не пробовал.)
Одно испытание включает в себя:
- создать схему базы данных.
- Запустите сервер приложений.
- Запустите несколько клиентских приложений.
- Выполнить и проверить.
У нас есть 5000 нечетных тестов, занимающих 700 часов или около того. (мы делаем это в сетке, заканчиваем за ночь)
В большинстве тестов используются небольшие размеры данных, скажем, до 10 МБ.