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

Всё про тестирование в Yii 2.0
Ответить
Brainfuck
Сообщения: 244
Зарегистрирован: 2018.02.19, 14:20

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

Сообщение Brainfuck » 2018.11.15, 11:17

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

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

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

Аватара пользователя
ElisDN
Сообщения: 5319
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

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

Сообщение ElisDN » 2018.11.15, 12:29

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

part: [init, orm, fixtures]

Brainfuck
Сообщения: 244
Зарегистрирован: 2018.02.19, 14:20

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

Сообщение Brainfuck » 2018.11.16, 12:27

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

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

Brainfuck
Сообщения: 244
Зарегистрирован: 2018.02.19, 14:20

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

Сообщение Brainfuck » 2018.11.16, 15:42

Разобрался вроде, спасибо

Brainfuck
Сообщения: 244
Зарегистрирован: 2018.02.19, 14:20

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

Сообщение Brainfuck » 2018.11.16, 17:01

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

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

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"), но проект то данные берет из другой базы. Я думаю было бы логично и удобно что-бы тест сам поднимал на локалхосте проект для тестирования, загружал в тестовую базу фикстуры и тестировал...

Аватара пользователя
ElisDN
Сообщения: 5319
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

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

Сообщение ElisDN » 2018.11.16, 17:24

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

Ответить