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

Codeception в yii2-advanced

Добавлено: 2017.09.13, 11:21
Maksat1991
Установил

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

composer require "codeception/codeception=2.1.*"
composer require "codeception/specify=*"
composer require "codeception/verify=*"
Затем подключил библиотеку

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

composer require --dev yiisoft/yii2-codeception
Затем сказано что нужно сделать

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

codecept run
1. Но, во-первых, консоль не знает такую команду как codecept, надо указывать явно путь

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

./vendor/bin/codecept run
Как сделать, чтобы консоль знала команду codecept?

2. Для чего нужно подключать yii2-библиотеку yiisoft/yii2-codeception ?

3. В yii2-advanced, все тесты находятся в папках /common/tests, /frontend/tests, /backend/tests ?

4. После установки какие команды нужно ввести и для чего? Вроде этих:

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

codecept install
codecept build
codecept run
codecept bootstrap

Re: Codeception в yii2-advanced

Добавлено: 2017.09.13, 13:52
ElisDN
2. С ноября прошлого года ничего доустанавливать не надо. В basic и advanced уже всё есть. Запускается сразу:

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

./vendor/bin/codecept run
1. Создать псевдоним в linux.

3. Да

4. Никаких других. Только build в первый раз и run во все остальные.

Re: Codeception в yii2-advanced

Добавлено: 2017.09.13, 13:57
Dominus
1. или Codecept установить глобально.

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

composer global require codeception/codeception
2. https://github.com/yiisoft/yii2-codeception

4. ...
codecept bootstrap - создание окружения test и конфига codeception.yml (из коробки по умолчанию в yii уже созданы окружения)
codecept build - компиляция, нужно выполнять при каждом изменении конфигурации в тестовом окружении
codecept run - запуск тестов

Re: Codeception в yii2-advanced

Добавлено: 2017.09.13, 16:03
Maksat1991
Dominus писал(а): 2017.09.13, 13:57 1. или Codecept установить глобально.

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

composer global require codeception/codeception
2. https://github.com/yiisoft/yii2-codeception

4. ...
codecept bootstrap - создание окружения test и конфига codeception.yml (из коробки по умолчанию в yii уже созданы окружения)
codecept build - компиляция, нужно выполнять при каждом изменении конфигурации в тестовом окружении
codecept run - запуск тестов
Я установил глобально, установилось в эту папку
/.config/composer/vendor/codeception/codeception

Теперь, заходя в папку с проектом, даже если пока не создавать псевдоним до этого файла, я запускаю

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

/.config/composer/vendor/codeception/codeception run
И выходит ошибка.

Вот не пойму, надо codeception все-равно локально ставить, чтобы можно было как

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

./vendor/bin/codecept run
вызывать?

Re: Codeception в yii2-advanced

Добавлено: 2017.09.13, 16:09
Dominus
С Yii идет codeception установленным локально.
Запускается так:

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

 ./vendor/bin/codecept run
Что бы не запускать с указанием пути до codecept, то сделать как Дмитрий сказал или установить глобально.
Запускаться уже будет так:

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

codecept run
У меня например установлено глобально.
Глобально:

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

Dominus@IRBIS E:\OpenServer\domains\yii2\mysite\public_html
> codecept -V
Codeception version 2.3.5

Dominus@IRBIS E:\OpenServer\domains\yii2\mysite\public_html
>
Локально:

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

Dominus@IRBIS E:\OpenServer\domains\yii2\mysite\public_html
> vendor\bin\codecept -V
Codeception version 2.3.5

Dominus@IRBIS E:\OpenServer\domains\yii2\mysite\public_html
>

Re: Codeception в yii2-advanced

Добавлено: 2017.10.02, 13:12
skit

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

cd vendor/bin
codecept build
codecept run

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

No tests executed!

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

vendor/bin/codecept run -- -c common

Your configuration file `common` could not be found.
/codeception.yml

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

include:
    - common
    - frontend
    - backend
paths:
    log: console/runtime/logs
settings:
    colors: true
Не могу понять, почему не работает? Как запустить стандартные тесты?

Re: Codeception в yii2-advanced

Добавлено: 2017.10.02, 16:13
skit
Посмотрел доклад Михаила Бандарчука (https://www.youtube.com/watch?v=kx-XpwNGvco).
Бальзам на душу, в yii с тестированием хреново.
Нашел эту ссылку http://codeception.com/for/yii - и ведь не работает по мануалу.
Я вот не слежу за всеми переменами фреймворка, у меня структура папок другая. Визуально с тестами понятней стало.
Но где актуальный мануал?!?! Может здесь https://github.com/yiisoft/yii2-app-adv ... testing.md ?

Я считаю, что codecept run, просто должен запускать тесты без танцев с бубном.

Вот так заработало:

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

composer exec -v codecept run -- -c frontend
Непонятно почему просто codecept run не заработал?
и почему через composer exec пошло?

Re: Codeception в yii2-advanced

Добавлено: 2017.10.08, 15:36
belka3000
нет никаких танцев с бубном, вы просто что-то делаете не так и не хотите разобраться.

Зачем вы делаете codecept build в vendor?
естественно там нет тестов

Re: Codeception в yii2-advanced

Добавлено: 2017.10.11, 11:40
sanchezzzhak
легче всего тестировать на php7 (я не пользуюсь нижними версиями, так как они не производительны и изжили свое )

все просто
1 скачиваем codcecept.phar (http://codeception.com/quickstart) закидываем в корень проекта ( для того что бы php шторм подхватил файл и подсказывал вам при написании тестов )
Настраиваем первый тест
Menu -> Run -> Edit Configurations... ( press key alt+insert select codeception )
2 Допиливаем настройки как в скриншоте
https://camo.githubusercontent.com/16d7 ... 632e706e67

Все остальные тесты можно клонировать от выбраного теста ( правой кнопкой по названию класса или методу и выбрать build codecept test )
для указаного теста будет создан персональный конфиг

build делать не обязательно, когда используешь ide все само делает.

Re: Codeception в yii2-advanced

Добавлено: 2017.10.11, 11:50
ElisDN
Скачивать не нужно. Есть vendor/bin/codecept.

Re: Codeception в yii2-advanced

Добавлено: 2017.11.17, 15:02
skit
belka3000 писал(а): 2017.10.08, 15:36 Зачем вы делаете codecept build в vendor?
Так гласит мануал