Codeception организация тестирования приемочных тестов?
Проект создан на symfony4 с недавних пор начали внедрять в приложение тесты unit и acceptance. Для этого выбрали Codeception и selenium для приемочных тестов. Приемочными тестами будет тестироваться админка, в которой много страниц со списками, добавлением, фильтрами и тд. Так как приемочные тесты тестируют то что видит пользователь, то в админке не протестируешь например списки с данными, так как данные будут меняться.
Каким образом организовывается правильно тестирование приемочных тестов?
Я думаю что следует создать ещё одну бд в которой продублировать таблицы и подготовить для них фикстуры(тестовые данные), и проверять уже по ним. Так как тестовых данных придётся создать очень много (проект уже большой), то я решил сначала спросить совета у вас чтобы не наделать лишнего что не будет оправдано.
следует создать ещё одну бд в которой продублировать таблицы и подготовить для них фикстуры
так обычно и поступают, для работы с реальными данными их все равно придется создавать, в промежутках хранить эту привязку и после тестов все вычищать, фикстуры и тестовая бд явно лучше и безопаснее, главное данные хорошо подготовить
AlpineMilk, у фреймворков тестирования есть методы типа setup и teardown, в которых данные сетятся и удаляются после завершения (даже если нет, то можно самому запилить), для генерации есть faker
Да, верно, база должна быть эталонная, но не должна содержать пользовательских динамических данных, только дефолтные данные .
во время тестирования туда будут загонятся тестовые данные, например регистрация пользователя и тд.
при завершении тестов, база будет дропатся и тем самым не нужно будут удалять тестовые данные.
п.с. Отлично подходит докер для этих целей , после тестов контейнер со всем данными удаляется.