Откат тестовых данных
Вопрос
Тестировщик готовит данные в базе тестового стенда и хочет гарантированно вернуть всё как было. Что подходит лучше?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Варианты ответа
- Выполнить
TRUNCATEзатронутых таблиц после теста и заново накатить сиды - Вести подготовку и проверки в
BEGIN ... ROLLBACK, если приложению данные не нужныправильный ответ - Удалить после прогона все строки по
created_at > now() - interval '1 hour'в затронутых таблицах - Ничего не убирать: стенд общий, а чужие данные тестам обычно не мешают
Разбор
Транзакция с откатом бесследно убирает изменения, но работает, только если всё делается в одном соединении: приложение не увидит незафиксированные данные. Для API-тестов данные обычно создают через API или фикстурами с уникальными метками и удаляют по ним. Удаление по времени снесёт чужие данные, а очистка таблиц сломает стенд остальным.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Предыдущий вопрос
Сумма заказа не сходится с позициями
Следующий вопрос
Дата изменения раньше даты создания