На данный момент на проекте API тестирование проходит стандартным путем: три docker контейнера nginx, php, postgres. Старт тестов происходит при каждом МР запросе и нужно подождать порядка 7 минут для полного прогона(а это 650 тестов).
Возникла идея исключить nginx из этой цепочки, а codeception, каким-то образом, сразу "натравливать" на некое фейковое web Yii2 приложение через Controller::runAction(...).
Возможно ли такое реализовать? Кто-нибудь может проворачивал такое. Если это реализуемо, то какие грабли обойти?
PS: информации маловато, т.к. в голове только идея крутится)
Ускорение API-тестов
Re: Ускорение API-тестов
В Codeception использовать REST с модулем Yii2 вместо PhpBrowser:
Код: Выделить всё
modules:
enabled:
- REST:
url: /api
depends: Yii2
config:
- Yii2
Последний раз редактировалось ElisDN 2020.02.22, 00:16, всего редактировалось 1 раз.
Re: Ускорение API-тестов
Дмитрий, спасибо! это то что нужноElisDN писал(а): ↑2020.02.21, 13:24 В Codeception использовать REST с модулем Yii2 вместо PhpBrowser:
Код: Выделить всё
modules: enabled: - REST: url: /api depends: Yii2 - \ApiBundle\Helper\Api config: - Yii2
Re: Ускорение API-тестов
Дмитрий, перестала работать проверка заголовков ApiTester::seeHttpHeader('Content-Type', ...).ElisDN писал(а): ↑2020.02.21, 13:24 В Codeception использовать REST с модулем Yii2 вместо PhpBrowser:
Код: Выделить всё
modules: enabled: - REST: url: /api depends: Yii2 config: - Yii2
В ApiTester::grabHttpHeader всегда NULL, при этом ApiTester::grabResponse() отрабатывает корректно.