Всем привет. Использую Yii2 и Codeception, появился такой вопрос, как правильнее организовать работу с тестовыми данными в функциональных тестах?
Сейчас у меня есть дамп базы с тестовыми данными, который загружается после каждого теста. Но, уже столкнулся с проблемой, что поправил тестовые данные для нового теста, и старый перестал работать, потому что были добавлены новые тестовые данные и уже вернулся другой ответ на запрос.
Может как-то через фикстуры это можно решить? И загружать для каждого теста свой связанный набор данных?
В общем, интересно узнать кто как это решает именно в функциональных тестах, в unit тестах я использую фикстуры.
Yii2 и функциональные тесты: как работать с тестовыми данными?
-
- Сообщения: 17
- Зарегистрирован: 2013.01.18, 19:00
Re: Yii2 и функциональные тесты: как работать с тестовыми данными?
В каждом тесте можно добавить новую запись -> проверить на ней -> сразу удалить. Или то же заполнение и очистку делать в __before() и __after(). В итоге тесты на добавление/редактирование другим тестам мешать не будут.
-
- Сообщения: 52
- Зарегистрирован: 2013.07.10, 11:08
Re: Yii2 и функциональные тесты: как работать с тестовыми данными?
А как сделать, чтобы была всегда демонстрационные данные, к примеру. Есть изначально какая та база данных. Нужно в итоге всегда базу при разворачивании проекта наполнять демонстрационными данными. Есть список ролей, сделал миграцию от даты такой, чтобы она была самой первой перед всеми уже ранее созданными миграциями. Вроде все нормально, но через время добавляют еще одну роль и получается пользователя нет. Как в этом случае поступать?
Re: Yii2 и функциональные тесты: как работать с тестовыми данными?
Фикстурами.mastermind писал(а):А как сделать, чтобы была всегда демонстрационные данные, к примеру.
-
- Сообщения: 52
- Зарегистрирован: 2013.07.10, 11:08
Re: Yii2 и функциональные тесты: как работать с тестовыми данными?
А их можно автоматизировать при инсталяции проекта? Вот, к примеру, есть у меня phpci, который сливает последние исходники, накатывает миграции и потом тестит. И есть сценарий, когда просто админ берет сливает исходники и поднимает проект. Фикстуры здесь как могут помощь? С учетом того, что есть таблица на которые есть миграции, есть таблицы на которых нет и я как бы делаю это самой первой миграцией.
Re: Yii2 и функциональные тесты: как работать с тестовыми данными?
Как для рабочей базы миграции запускаются, так и для тестовой:mastermind писал(а):А их можно автоматизировать при инсталяции проекта?
Код: Выделить всё
git pull
php yii migrate
php tests/codeception/bin/yii migrate
Просто посмотрите готовые встроенные тесты в yii2-app-advanced.