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

Как применять фикстуры для приемочных тестов?

Добавлено: 2017.11.16, 10:43
undestroyer
Создаю API, в нем есть метод авторизации
/site/login
, в котором пользователь получает токен авторизации. Для остальных запросов нужно использовать этот токен и передавать его как HTTP. Логика подсказывает, что мои приемочные тесты должны либо:
1) Каждый раз выполнять авторизацию и брать актуальный токен авторизации
либо
2) получать токен из базы (фикстуры?) и использовать его в работе.

Первый подход мне не нравится потому что не хочу просто так при каждом запросе делать авторизацию. Второй подход я не знаю как сделать в рамках приемочных тестов. Не понимаю какие методы нужно использовать для встраивания фикстуры в приемочный тест. Подскажите как это сделать правильно.

Re: Как применять фикстуры для приемочных тестов?

Добавлено: 2017.11.16, 16:58
Nex-Otaku
В шаблоне app-advanced уже есть готовый тест на авторизацию и к нему как раз идёт готовая фикстура БД для создания тестового аккаунта пользователя. Используйте её, либо разберите как она работает, и сделайте аналогичную.

Re: Как применять фикстуры для приемочных тестов?

Добавлено: 2017.11.17, 13:22
undestroyer
Nex-Otaku писал(а): 2017.11.16, 16:58 В шаблоне app-advanced уже есть готовый тест на авторизацию и к нему как раз идёт готовая фикстура БД для создания тестового аккаунта пользователя. Используйте её, либо разберите как она работает, и сделайте аналогичную.
В шаблоне app-advanced нет приемочных тестов на авторизацию. Только Unit. В unit тесты я понимаю как подключить фикстуру, но как это сделать для приемочных тестов API?

Re: Как применять фикстуры для приемочных тестов?

Добавлено: 2017.11.17, 14:36
ElisDN
undestroyer писал(а): 2017.11.17, 13:22 В шаблоне app-advanced нет приемочных тестов на авторизацию. Только Unit.
В Functional есть.

Re: Как применять фикстуры для приемочных тестов?

Добавлено: 2017.11.18, 19:39
Nex-Otaku
В приёмочных тестах также всё подключается через конфиги тестового окружения.

Re: Как применять фикстуры для приемочных тестов?

Добавлено: 2017.11.22, 07:45
undestroyer
ElisDN писал(а): 2017.11.17, 14:36
undestroyer писал(а): 2017.11.17, 13:22 В шаблоне app-advanced нет приемочных тестов на авторизацию. Только Unit.
В Functional есть.
Да, в Functional есть пример работы с фикстурой, но в нем невозможно отправить POST запрос на API.
В AcceptanceTesterActions есть метод sendPOST(), чего нет в FunctionalTesterActions. Хотя в FunctionalTesterActions есть метод grabFixture, которого нет в AcceptanceTesterActions.

Re: Как применять фикстуры для приемочных тестов?

Добавлено: 2017.11.22, 07:46
undestroyer
Nex-Otaku писал(а): 2017.11.18, 19:39 В приёмочных тестах также всё подключается через конфиги тестового окружения.
Можно пример, как через конфиг тестового окружения настроить фикстуру? Скорее вы предлагаете использовать СУБД с тестовой базой, но это неудобно, т.к. для выполнения большого количества запросов к методам, доступным только авторизованным пользователям, придется каждый раз вызывать авторизацию. Я хочу отдельно тестировать авторизацию, отдельно работу с данными.

Re: Как применять фикстуры для приемочных тестов?

Добавлено: 2017.11.22, 08:58
ElisDN
undestroyer писал(а): 2017.11.22, 07:45 Хотя в FunctionalTesterActions есть метод grabFixture, которого нет в AcceptanceTesterActions.
Пропишите part: [init, orm, fixtures] в acceptance.suite.yml и такие же методы появятся в приёмочных.

Re: Как применять фикстуры для приемочных тестов?

Добавлено: 2017.11.23, 06:20
undestroyer
ElisDN писал(а): 2017.11.22, 08:58
undestroyer писал(а): 2017.11.22, 07:45 Хотя в FunctionalTesterActions есть метод grabFixture, которого нет в AcceptanceTesterActions.
Пропишите part: [init, orm, fixtures] в acceptance.suite.yml и такие же методы появятся в приёмочных.
Спасибо Дмитрий и Nex-Otaku! Все действительно решилось этой строчкой конфигурации.