Page not found (функциональные тесты)

Всё про тестирование в Yii 2.0
Ответить
Nicolai6120
Сообщения: 143
Зарегистрирован: 2014.08.13, 15:08

Page not found (функциональные тесты)

Сообщение Nicolai6120 »

Добрый день. Продолжаю мучать codeception и себя...

Столкнулся с проблемой. В папке common\tests, сделал codecept билд, сгенерировал functional.suite, создал свой Cest, и вроде бы все хорошо, но при попытке пройти тест

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

    public function checkAccess(FunctionalTester $I)
    {
        $I->amOnPage('/');
        $I->see('Congratulations');
    }
фэйлится, зато вот такой на ура:

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

    public function checkAccess(FunctionalTester $I)
    {
        $I->amOnPage('/');
        $I->seePageNotFound();
        //$I->see('Page not found'); такой тоже проходит
        //$I->see('Not Found (#404)'); а такой не проходит, хотя по идее должен бы
    }
И так с любыми роутами и пейджами.

А в тестах из папки frontend\tests все нормально, страницы находятся. function.suite.yml одинаковые, codeception.yml тоже одинаковые, различаются только _bootstrap, но там разница только в путях до vendor/autoload и до конфигов, короче все одинаково.

Думал, что это связано настройками urlManager, попробовал добавить в тестовый конфиг разные варианты, но результат везде одинаковый.

В папке /_output лежит файл common.tests.functional.RbacCest.checkAccess.fail.html

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

<pre>Not Found: Page not found.</pre>
Подозреваю, что это и есть тот html, который парсил codeception, но откуда он его получил?
И почему codeception не находит страницы и роуты?
Аватара пользователя
yiijeka
Сообщения: 3103
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: Page not found (функциональные тесты)

Сообщение yiijeka »

common - это общая директория для:
- веб приложения
- api приложения
- консольного приложения
- любого другого приложения

$I->amOnPage и все вещи из функционального и приёмочного тестирования будут работать, только для первых двух приложений, там где задействован urlManager. в других приложениях этот компонент отключён...
Nicolai6120
Сообщения: 143
Зарегистрирован: 2014.08.13, 15:08

Re: Page not found (функциональные тесты)

Сообщение Nicolai6120 »

Выходит в папке common нельзя юзать функциональные тесты также как во frontend и backend ? Я конечно же хотел тестировать веб-приложение и у меня в /common/config/main.php есть компонент urlManager...

Перенес этот же тест в папку frontend, он заработал как нужно.

Выходит что urlManager мне нужно выносить отдельно во frontend и backend из common. Так как для консольного приложения это бессмысленно его включать, а common config применяется и для консольных...
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Page not found (функциональные тесты)

Сообщение ElisDN »

Nicolai6120 писал(а): 2017.02.15, 20:07 Выходит в папке common нельзя юзать функциональные тесты также как во frontend и backend?
Да, так как в папке common сайта нет.
Ответить