Страница 1 из 1

Yii2 и функциональные тесты: как работать с тестовыми данными?

Добавлено: 2016.01.19, 17:26
rumasterov
Всем привет. Использую Yii2 и Codeception, появился такой вопрос, как правильнее организовать работу с тестовыми данными в функциональных тестах?

Сейчас у меня есть дамп базы с тестовыми данными, который загружается после каждого теста. Но, уже столкнулся с проблемой, что поправил тестовые данные для нового теста, и старый перестал работать, потому что были добавлены новые тестовые данные и уже вернулся другой ответ на запрос.

Может как-то через фикстуры это можно решить? И загружать для каждого теста свой связанный набор данных?

В общем, интересно узнать кто как это решает именно в функциональных тестах, в unit тестах я использую фикстуры.

Re: Yii2 и функциональные тесты: как работать с тестовыми данными?

Добавлено: 2016.01.19, 18:39
ElisDN
В каждом тесте можно добавить новую запись -> проверить на ней -> сразу удалить. Или то же заполнение и очистку делать в __before() и __after(). В итоге тесты на добавление/редактирование другим тестам мешать не будут.

Re: Yii2 и функциональные тесты: как работать с тестовыми данными?

Добавлено: 2016.10.10, 15:46
mastermind
А как сделать, чтобы была всегда демонстрационные данные, к примеру. Есть изначально какая та база данных. Нужно в итоге всегда базу при разворачивании проекта наполнять демонстрационными данными. Есть список ролей, сделал миграцию от даты такой, чтобы она была самой первой перед всеми уже ранее созданными миграциями. Вроде все нормально, но через время добавляют еще одну роль и получается пользователя нет. Как в этом случае поступать?

Re: Yii2 и функциональные тесты: как работать с тестовыми данными?

Добавлено: 2016.10.10, 15:50
ElisDN
mastermind писал(а):А как сделать, чтобы была всегда демонстрационные данные, к примеру.
Фикстурами.

Re: Yii2 и функциональные тесты: как работать с тестовыми данными?

Добавлено: 2016.10.10, 15:58
mastermind
А их можно автоматизировать при инсталяции проекта? Вот, к примеру, есть у меня phpci, который сливает последние исходники, накатывает миграции и потом тестит. И есть сценарий, когда просто админ берет сливает исходники и поднимает проект. Фикстуры здесь как могут помощь? С учетом того, что есть таблица на которые есть миграции, есть таблицы на которых нет и я как бы делаю это самой первой миграцией.

Re: Yii2 и функциональные тесты: как работать с тестовыми данными?

Добавлено: 2016.10.10, 16:29
ElisDN
mastermind писал(а):А их можно автоматизировать при инсталяции проекта?
Как для рабочей базы миграции запускаются, так и для тестовой:

Код: Выделить всё

git pull
php yii migrate
php tests/codeception/bin/yii migrate
А фикстуры и так автоматизированы.

Просто посмотрите готовые встроенные тесты в yii2-app-advanced.