Codeception в yii2-advanced

Всё про тестирование в Yii 2.0
Ответить
Maksat1991
Сообщения: 57
Зарегистрирован: 2016.10.16, 00:15

Codeception в yii2-advanced

Сообщение Maksat1991 » 2017.09.13, 11:21

Установил

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

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

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

Re: Codeception в yii2-advanced

Сообщение ElisDN » 2017.09.13, 13:52

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

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

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

3. Да

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

Аватара пользователя
Dominus
Сообщения: 305
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: Codeception в yii2-advanced

Сообщение 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 - запуск тестов
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!

Maksat1991
Сообщения: 57
Зарегистрирован: 2016.10.16, 00:15

Re: Codeception в yii2-advanced

Сообщение Maksat1991 » 2017.09.13, 16:03

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
вызывать?

Аватара пользователя
Dominus
Сообщения: 305
Зарегистрирован: 2013.03.14, 21:27
Откуда: Россия, Иваново
Контактная информация:

Re: Codeception в yii2-advanced

Сообщение Dominus » 2017.09.13, 16:09

С 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
>
Не спорь с дураком, иначе окружающие не правильно поймут кто из вас дурак!

skit
Сообщения: 129
Зарегистрирован: 2012.10.08, 12:50
Откуда: Сибирь
Контактная информация:

Re: Codeception в yii2-advanced

Сообщение skit » 2017.10.02, 13:12

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

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
Не могу понять, почему не работает? Как запустить стандартные тесты?

skit
Сообщения: 129
Зарегистрирован: 2012.10.08, 12:50
Откуда: Сибирь
Контактная информация:

Re: Codeception в yii2-advanced

Сообщение skit » 2017.10.02, 16:13

Посмотрел доклад Михаила Бандарчука (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 пошло?

belka3000
Сообщения: 16
Зарегистрирован: 2015.01.29, 14:52

Re: Codeception в yii2-advanced

Сообщение belka3000 » 2017.10.08, 15:36

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

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

sanchezzzhak
Сообщения: 3
Зарегистрирован: 2014.06.11, 12:35

Re: Codeception в yii2-advanced

Сообщение sanchezzzhak » 2017.10.11, 11:40

легче всего тестировать на 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 все само делает.

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

Re: Codeception в yii2-advanced

Сообщение ElisDN » 2017.10.11, 11:50

Скачивать не нужно. Есть vendor/bin/codecept.
Не забудьте пройти мастер-класс по Yii2.

Ответить