Первый запуск тестов
Первый запуск тестов
Приветствую.
Пора бы писать уже тесты Смотрю мануалы по codeception, прописал в composer.json расширение codeception, затем оно закачалось, стащил папку yii2-app-advanced/tests.
Однако в некоторых мануалах, авторы запускают condeception.phar, который лежит в yii2-app-advanced/tests/codeception/frontend/
Но в yii2-app-advanced его нет, где всязть этот исполняемый файл?
https://github.com/yiisoft/yii2-app-adv ... n/frontend тут одни .yml
Пора бы писать уже тесты Смотрю мануалы по codeception, прописал в composer.json расширение codeception, затем оно закачалось, стащил папку yii2-app-advanced/tests.
Однако в некоторых мануалах, авторы запускают condeception.phar, который лежит в yii2-app-advanced/tests/codeception/frontend/
Но в yii2-app-advanced его нет, где всязть этот исполняемый файл?
https://github.com/yiisoft/yii2-app-adv ... n/frontend тут одни .yml
Re: Первый запуск тестов
Ну так там и лежит:jakiro писал(а):прописал в composer.json расширение codeception, затем оно закачалось
Код: Выделить всё
vendor/bin/codecept run
http://www.elisdn.ru/blog/84/seo-servic ... on-testing
Re: Первый запуск тестов
Я видел эту статью, только я на кофигах ничего не понялElisDN писал(а):Ну так там и лежит:jakiro писал(а):прописал в composer.json расширение codeception, затем оно закачалось
Если ставить глобально (как в tests/README.md), то будет анлогично в глобальной папке vendor вашего Composer-а.Код: Выделить всё
vendor/bin/codecept run
http://www.elisdn.ru/blog/84/seo-servic ... on-testing
Я устанавливал codeception строго по мануалу http://www.yiiframework.com/doc-2.0/ext ... index.html
А папку tests стащил из шаблона yii advanced, выходит, что cодержимое папки tests можно взять из папки vendor?
В вашем мануале установка:
Код: Выделить всё
composer global require "codeception/codeception=2.0.*"
composer global require "codeception/specify=*"
composer global require "codeception/verify=*"
Re: Первый запуск тестов
В yii2-app-basic и yii2-app-advanced плагин yiisoft/yii2-codeception уже подключён в require-dev секцию в composer.json. Ещё раз его прописывать не надо.jakiro писал(а):Я устанавливал codeception строго по мануалу
А папку tests стащил из шаблона yii advanced?
Расширение yiisoft/yii2-codeception - это не сам Codeception, а просто адаптер для Yii2.jakiro писал(а):В вашем мануале установка:
а в офиц гайде я просто добавил "yiisoft/yii2-codeception": "~2.0.0"Код: Выделить всё
composer global require "codeception/codeception=2.0.*" composer global require "codeception/specify=*" composer global require "codeception/verify=*"
Сам Codeception устанавливается отдельно пакетом codeception/codeception через composer global require. Это написано в файле tests/README.md, из которого я взял вами приведённые строки в свой мануал.
Re: Первый запуск тестов
Ну да, верно. Там уже все вклчюено, я просто убедился, что там все в порядкеElisDN писал(а):В yii2-app-basic и yii2-app-advanced плагин yiisoft/yii2-codeception уже подключён в require-dev секцию в composer.json. Ещё раз его прописывать не надо.
А-а-а, это что то вроде драйвера.ElisDN писал(а):Расширение yiisoft/yii2-codeception - это не сам Codeception, а просто адаптер для Yii2.
Да, действительно там вообще другой мануал.ElisDN писал(а):Сам Codeception устанавливается отдельно пакетом codeception/codeception через composer global require. Это написано в файле tests/README.md
Но ведь если я глобальную установку сделаю, значит conmposer весь дистриб закатит к себе в AppData/Roaming/Composer, я думал сам codeception он как фрэймворк аля yii2 , просто подключится в папку vendor и пользуйся
Re: Первый запуск тестов
Да, это такой же фреймворк, как Yii2. Аналогично его можно поставить в vendor проекта через секцию require-dev в его composer.json. Но он притянет кучу своих мегабайт в эту папку vendor, так как требует ещё и PHPUnit.jakiro писал(а):я думал сам codeception он как фрэймворк аля yii2 , просто подключится в папку vendor и пользуйся
Если проектов на компьютере много, то (чтобы к каждому сайту в свой vendor не тянуть) вместо простого require удобнее его поставить один раз в глобальную папку AppData/Roaming/Composer/vendor через global require и спокойно использовать оттуда. А Composer автоматически умеет сливать локальную папку vendor с глобальной.
Re: Первый запуск тестов
Проектов много, но вся работа происходит через ftp удаленно на dev сервер и все акаунты своих соседей, логично, не видят друг друга. Да и требуется сам теститнг наверное на проекте один-два, думаю будет лучше, если все в одном месте лежать будетElisDN писал(а):Да, это такой же фреймворк, как Yii2. Аналогично его можно поставить в vendor проекта через секцию require-dev в его composer.json. Но он притянет кучу своих мегабайт в эту папку vendor, так как требует ещё и PHPUnit.jakiro писал(а):я думал сам codeception он как фрэймворк аля yii2 , просто подключится в папку vendor и пользуйся
Если проектов на компьютере много, то (чтобы к каждому сайту в свой vendor не тянуть) вместо простого require удобнее его поставить один раз в глобальную папку AppData/Roaming/Composer/vendor через global require и спокойно использовать оттуда. А Composer автоматически умеет сливать локальную папку vendor с глобальной.
p.s. весит все это добро ровно 10 мб
Re: Первый запуск тестов
Ну да. Либо к самому проекту через require-dev локально доподключить, либо только на тестовых серверах глобально установить. Смотря как удобнее. А на рабочих запускать
чтобы им лишнее не ставилось.
Код: Выделить всё
composer install --no-dev
Re: Первый запуск тестов
Да, получилось.ElisDN писал(а):Ну да. Либо к самому проекту через require-dev локально доподключить, либо только на тестовых серверах глобально установить. Смотря как удобнее. А на рабочих запускать
чтобы им лишнее не ставилось.Код: Выделить всё
composer install --no-dev
Сделал
Код: Выделить всё
php ~/www/host.ru/vendor/codeception/codeception/codecept bootstrap
И вообще, структура всей папки test оличается от той, что представлена в avdanced template
Сгенерировалось https://yadi.sk/d/cqczyyQetDGZF
В шаблоне advanced https://yadi.sk/d/0sb0ZWQHtDGbV
Последний раз редактировалось jakiro 2016.07.12, 10:06, всего редактировалось 2 раза.
Re: Первый запуск тестов
Ну да. В basic и advanced приложениях уже есть готовая папка tests. Создавать новую командой bootstrap не нужно.
Re: Первый запуск тестов
Да, я так и понял, если создавать через /vendor/codeception/codeception/codecept то codeception создает папку test нативно, а не для yii2, соответственно мне надо использовать именно yii2 вариант т.е. представленный в шаблоне advanced, но в нем нет исполняемого файла codecept, т.е. мне генерировать не получится вот такие штуки:ElisDN писал(а):Ну да. В basic и advanced приложениях уже есть готовая папка tests. Создавать новую командой bootstrap не нужно.
Код: Выделить всё
codecept generate:cept acceptance Welcome
Re: Первый запуск тестов
Всё исполняемое Composer помещает в vendor/bin. В локальный или в глобальный. Оттуда и запускайте:
Код: Выделить всё
vendor/bin/codecept generate:cept acceptance Welcome
Re: Первый запуск тестов
Ааа, я не заметил ни одного описания, чтобы там все лежало.ElisDN писал(а):Всё исполняемое Composer помещает в vendor/bin. В локальный или в глобальный. Оттуда и запускайте:
Код: Выделить всё
vendor/bin/codecept generate:cept acceptance Welcome
Код: Выделить всё
php ~/www/host.ru/vendor/bin/codecept
dir=$(d=${0%[/\\]*}; cd "$d"; cd "../codeception/codeception" && pwd)
# See if we are running in Cygwin by checking for cygpath program
if command -v 'cygpath' >/dev/null 2>&1; then
# Cygwin paths start with /cygdrive/ which will break windows PHP,
# so we need to translate the dir path to windows format. However
# we could be using cygwin PHP which does not require this, so we
# test if the path to PHP starts with /cygdrive/ rather than /usr/bin
if [[ $(which php) == /cygdrive/* ]]; then
dir=$(cygpath -m "$dir");
fi
fi
dir=$(echo $dir | sed 's/ /\ /g')
"${dir}/codecept" "$@"
Re: Первый запуск тестов
Не php codecept, а просто codecept. Без php.
Re: Первый запуск тестов
А, даже так. Однако. Из vendor/codeception выполнялось все, а тут в доступе отказаноElisDN писал(а):Не php codecept, а просто codecept. Без php.
Придется ручками все писать
Re: Первый запуск тестов
К чему именно отказано?jakiro писал(а):в доступе отказано
Re: Первый запуск тестов
Да просто на исполнениеElisDN писал(а):К чему именно отказано?jakiro писал(а):в доступе отказано
~/www/host.ru/vendor/bin/codecept generate:cept acceptance Welcome
Re: Первый запуск тестов
А без этой команды не запустить тест ;(ElisDN писал(а):К чему именно отказано?jakiro писал(а):в доступе отказано
Re: Первый запуск тестов
Ну тогда оттуда запускайте.jakiro писал(а):Из vendor/codeception выполнялось все
Re: Первый запуск тестов
Я понял, из вендора выполняется, потому что я его передаю php ... а если просто команду выполнять без php, то отказано в доступе Разумеется все права пользователю выданы. Я не особо разбираюсь в debian делах, тем более, что атм ISP ManagerElisDN писал(а):Ну тогда оттуда запускайте.jakiro писал(а):Из vendor/codeception выполнялось все