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

Приемочное тестирование в Codeception

Добавлено: 2018.11.15, 11:17
Brainfuck
Разобрался с функциональным тестированием и взялся за приемочное. Не могу понять одну штуку: в функциональном тест сам создавал и на время теста хостил приложение. В том смысле что там и база была отдельная тестовая и запущенное приложение не требовалось. А тут так не выходит. Я так понял он только подключается к уже работающему сайту (не важно на локалхосте или где укажешь в настройках yml). А я хочу чтобы было как в функциональном тестировании - отдельное тестовое приложение со своей базой, с фикстурами и т.д.

Я бы в принципе обошелся и функциональным - благо там вполне удобно интерфейс тестировать, но в нем не работает javascript, а у меня хоть и очень мало его, но местами есть (например всякие alert подтверждения, модальные окна и т.д.). И его тоже надо протестировать...

Подскажите как это сделать?

Re: Приемочное тестирование в Codeception

Добавлено: 2018.11.15, 12:29
ElisDN
Оно и так там отдельное, дёргающее index-test.php. С той же отдельной базой и фикстурами, если в acceptance.suite.yml впишете

part: [init, orm, fixtures]

Re: Приемочное тестирование в Codeception

Добавлено: 2018.11.16, 12:27
Brainfuck
ElisDN писал(а): 2018.11.15, 12:29 Оно и так там отдельное, дёргающее index-test.php. С той же отдельной базой и фикстурами, если в acceptance.suite.yml впишете

part: [init, orm, fixtures]
Не получается :? На любые запросы я получаю 404

Re: Приемочное тестирование в Codeception

Добавлено: 2018.11.16, 15:42
Brainfuck
Разобрался вроде, спасибо

Re: Приемочное тестирование в Codeception

Добавлено: 2018.11.16, 17:01
Brainfuck
Нет, нефига я все-таки не разобрался! Показалось что работает, но походу нет... Проблема в том что я не понимаю как вообще это должно работать. Вот мой конфиг:

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

class_name: AcceptanceTester
modules:
    enabled:
        - WebDriver:
            url: http:/localhost/
            browser: chrome
            window_size: false
        - Yii2:
            part: [init, orm, fixtures]
            entryScript: index-test.php
            cleanup: true
Что именно мы указываем параметром url? Это тот урл где уже хостится работающее приложение? Или тест сам поднимет на этом урле приложение для тестирования?

Вот смотрите: я пишу на yii2 под windows и хостю проект через OpenServer (локально). Он там сам подменяет hosts, так что захожу на свой локальный сайт я например site.ru. Так вот я попробовал этот site.ru написать в параметр url и у меня вроде заработало, но потом я понял что он просто заходит на мой работающий сайт и обламывается, потому что там то данные берутся не из из тестовой базы! Фикстуры в тестах указаны верно (на функциональных тестах все работало) и они возможно даже грузятся (если запустить с параметром --debug то я вижу надпись "[Fixtures] Loading fixtures"), но проект то данные берет из другой базы. Я думаю было бы логично и удобно что-бы тест сам поднимал на локалхосте проект для тестирования, загружал в тестовую базу фикстуры и тестировал...

Re: Приемочное тестирование в Codeception

Добавлено: 2018.11.16, 17:24
ElisDN
Перечитайте пункт Running acceptance tests в README и найдите команду serve.
И ссылки должны генерироваться на адрес /index-test.php.