Всем привет!
Пишу RESTful API на Symfony. И покрываю все actions функциональными тестами. Даже, сначало пишу тесты, а потом пишу код. Использую для этих целей инструменты входящие в Symfony.
У меня возник вопрос с тестированием write-сервисов (Create, Update, Delete). Так как после успешного прогона они вносят изменения в БД и соотвественно, на втором прогоне сервисы Update и Delete вызывают ошибку.
Я вижу следующий выход (я так делал на одном проекте):
1. Настраиваю тестовую среду cо своей тестовой базой - в Symfony это предусмотрено.
2. Перед запуском тестов:
- грохаю старую тестовую базу
- создаю новую тестовую базу и таблицы
- делаю дамп демо-данных (т.е. записи которые я буду просматривать, редактировать и удалять)
3. Запускаю тесты.
Я так спокойно проверяю у себя локально во время разработки и на продакшн (пока-что dev) сервере в тестовом окружении, что мои правки работают и ничего не поламали.
Отсюда у меня возникает вопрос как мне проверить, продакшн окружение. Что все изменения удачно вылелись, и в том числе в базе данных?
Может есть возможность как-то откатывать изменения сделанные тестами?
Заранее спасибо.