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

Ускорение API-тестов

Добавлено: 2020.02.21, 11:43
nds
На данный момент на проекте API тестирование проходит стандартным путем: три docker контейнера nginx, php, postgres. Старт тестов происходит при каждом МР запросе и нужно подождать порядка 7 минут для полного прогона(а это 650 тестов).
Возникла идея исключить nginx из этой цепочки, а codeception, каким-то образом, сразу "натравливать" на некое фейковое web Yii2 приложение через Controller::runAction(...).
Возможно ли такое реализовать? Кто-нибудь может проворачивал такое. Если это реализуемо, то какие грабли обойти?

PS: информации маловато, т.к. в голове только идея крутится)

Re: Ускорение API-тестов

Добавлено: 2020.02.21, 13:24
ElisDN
В Codeception использовать REST с модулем Yii2 вместо PhpBrowser:

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

modules:
    enabled:
        - REST:
            url: /api
            depends: Yii2
    config:
        - Yii2

Re: Ускорение API-тестов

Добавлено: 2020.02.21, 23:47
nds
ElisDN писал(а): 2020.02.21, 13:24 В Codeception использовать REST с модулем Yii2 вместо PhpBrowser:

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

modules:
    enabled:
        - REST:
            url: /api
            depends: Yii2
        - \ApiBundle\Helper\Api
    config:
        - Yii2
Дмитрий, спасибо! это то что нужно

Re: Ускорение API-тестов

Добавлено: 2020.02.25, 17:23
nds
ElisDN писал(а): 2020.02.21, 13:24 В Codeception использовать REST с модулем Yii2 вместо PhpBrowser:

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

modules:
    enabled:
        - REST:
            url: /api
            depends: Yii2
    config:
        - Yii2
Дмитрий, перестала работать проверка заголовков ApiTester::seeHttpHeader('Content-Type', ...).
В ApiTester::grabHttpHeader всегда NULL, при этом ApiTester::grabResponse() отрабатывает корректно.