Страница 1 из 2
Первый запуск тестов
Добавлено: 2016.07.10, 01:43
jakiro
Приветствую.
Пора бы писать уже тесты
Смотрю мануалы по 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: Первый запуск тестов
Добавлено: 2016.07.10, 09:54
ElisDN
jakiro писал(а):прописал в composer.json расширение codeception, затем оно закачалось
Ну так там и лежит:
Если ставить глобально (как в tests/README.md), то будет анлогично в глобальной папке vendor вашего Composer-а.
http://www.elisdn.ru/blog/84/seo-servic ... on-testing
Re: Первый запуск тестов
Добавлено: 2016.07.10, 12:05
jakiro
ElisDN писал(а):jakiro писал(а):прописал в composer.json расширение codeception, затем оно закачалось
Ну так там и лежит:
Если ставить глобально (как в tests/README.md), то будет анлогично в глобальной папке vendor вашего Composer-а.
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=*"
а в офиц гайде я просто добавил
"yiisoft/yii2-codeception": "~2.0.0"
Re: Первый запуск тестов
Добавлено: 2016.07.10, 13:16
ElisDN
jakiro писал(а):Я устанавливал codeception строго по мануалу
А папку tests стащил из шаблона yii advanced?
В yii2-app-basic и yii2-app-advanced плагин yiisoft/yii2-codeception уже подключён в require-dev секцию в composer.json. Ещё раз его прописывать не надо.
jakiro писал(а):В вашем мануале установка:
Код: Выделить всё
composer global require "codeception/codeception=2.0.*"
composer global require "codeception/specify=*"
composer global require "codeception/verify=*"
а в офиц гайде я просто добавил
"yiisoft/yii2-codeception": "~2.0.0"
Расширение yiisoft/yii2-codeception - это не сам Codeception, а просто адаптер для Yii2.
Сам Codeception устанавливается отдельно пакетом codeception/codeception через composer global require. Это написано в файле tests/README.md, из которого я взял вами приведённые строки в свой мануал.
Re: Первый запуск тестов
Добавлено: 2016.07.10, 14:33
jakiro
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: Первый запуск тестов
Добавлено: 2016.07.10, 14:59
ElisDN
jakiro писал(а):я думал сам codeception он как фрэймворк аля yii2 , просто подключится в папку vendor и пользуйся
Да, это такой же фреймворк, как Yii2. Аналогично его можно поставить в vendor проекта через секцию require-dev в его composer.json. Но он притянет кучу своих мегабайт в эту папку vendor, так как требует ещё и PHPUnit.
Если проектов на компьютере много, то (чтобы к каждому сайту в свой vendor не тянуть) вместо простого require удобнее его поставить один раз в глобальную папку AppData/Roaming/Composer/vendor через global require и спокойно использовать оттуда. А Composer автоматически умеет сливать локальную папку vendor с глобальной.
Re: Первый запуск тестов
Добавлено: 2016.07.10, 15:13
jakiro
ElisDN писал(а):jakiro писал(а):я думал сам codeception он как фрэймворк аля yii2 , просто подключится в папку vendor и пользуйся
Да, это такой же фреймворк, как Yii2. Аналогично его можно поставить в vendor проекта через секцию require-dev в его composer.json. Но он притянет кучу своих мегабайт в эту папку vendor, так как требует ещё и PHPUnit.
Если проектов на компьютере много, то (чтобы к каждому сайту в свой vendor не тянуть) вместо простого require удобнее его поставить один раз в глобальную папку AppData/Roaming/Composer/vendor через global require и спокойно использовать оттуда. А Composer автоматически умеет сливать локальную папку vendor с глобальной.
Проектов много, но вся работа происходит через ftp удаленно на dev сервер и все акаунты своих соседей, логично, не видят друг друга. Да и требуется сам теститнг наверное на проекте один-два, думаю будет лучше, если все в одном месте лежать будет
p.s. весит все это добро ровно 10 мб
Re: Первый запуск тестов
Добавлено: 2016.07.10, 15:21
ElisDN
Ну да. Либо к самому проекту через require-dev локально доподключить, либо только на тестовых серверах глобально установить. Смотря как удобнее. А на рабочих запускать
чтобы им лишнее не ставилось.
Re: Первый запуск тестов
Добавлено: 2016.07.12, 09:53
jakiro
ElisDN писал(а):Ну да. Либо к самому проекту через require-dev локально доподключить, либо только на тестовых серверах глобально установить. Смотря как удобнее. А на рабочих запускать
чтобы им лишнее не ставилось.
Да, получилось.
Сделал
Код: Выделить всё
php ~/www/host.ru/vendor/codeception/codeception/codecept bootstrap
Создалась папка
test, только почему то он ее завалил в
vendor (/vendor/test) и еще добавил /vendor/codeception.yml
И вообще, структура всей папки test оличается от той, что представлена в avdanced template
Сгенерировалось
https://yadi.sk/d/cqczyyQetDGZF
В шаблоне advanced
https://yadi.sk/d/0sb0ZWQHtDGbV
Re: Первый запуск тестов
Добавлено: 2016.07.12, 10:05
ElisDN
Ну да. В basic и advanced приложениях уже есть готовая папка tests. Создавать новую командой bootstrap не нужно.
Re: Первый запуск тестов
Добавлено: 2016.07.12, 10:08
jakiro
ElisDN писал(а):Ну да. В basic и advanced приложениях уже есть готовая папка tests. Создавать новую командой bootstrap не нужно.
Да, я так и понял, если создавать через
/vendor/codeception/codeception/codecept то codeception создает папку test нативно, а не для yii2, соответственно мне надо использовать именно yii2 вариант т.е. представленный в шаблоне advanced, но в нем нет исполняемого файла codecept, т.е. мне генерировать не получится вот такие штуки:
Иначе он скажет, что не инициализировано
Re: Первый запуск тестов
Добавлено: 2016.07.12, 10:11
ElisDN
Всё исполняемое Composer помещает в vendor/bin. В локальный или в глобальный. Оттуда и запускайте:
Код: Выделить всё
vendor/bin/codecept generate:cept acceptance Welcome
Re: Первый запуск тестов
Добавлено: 2016.07.12, 10:17
jakiro
ElisDN писал(а):Всё исполняемое Composer помещает в vendor/bin. В локальный или в глобальный. Оттуда и запускайте:
Код: Выделить всё
vendor/bin/codecept generate:cept acceptance Welcome
Ааа, я не заметил ни одного описания, чтобы там все лежало.
Теперь на php не отдает, а тупо вываливает содержимое всего файла 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: Первый запуск тестов
Добавлено: 2016.07.12, 10:33
ElisDN
Не php codecept, а просто codecept. Без php.
Re: Первый запуск тестов
Добавлено: 2016.07.12, 11:16
jakiro
ElisDN писал(а):Не php codecept, а просто codecept. Без php.
А, даже так. Однако. Из vendor/codeception выполнялось все, а тут в доступе отказано
Придется ручками все писать
Re: Первый запуск тестов
Добавлено: 2016.07.12, 11:25
ElisDN
jakiro писал(а):в доступе отказано
К чему именно отказано?
Re: Первый запуск тестов
Добавлено: 2016.07.12, 11:32
jakiro
ElisDN писал(а):jakiro писал(а):в доступе отказано
К чему именно отказано?
Да просто на исполнение
~/www/host.ru/vendor/bin/codecept generate:cept acceptance Welcome
Re: Первый запуск тестов
Добавлено: 2016.07.12, 11:50
jakiro
ElisDN писал(а):jakiro писал(а):в доступе отказано
К чему именно отказано?
А без этой команды не запустить тест ;(
Re: Первый запуск тестов
Добавлено: 2016.07.12, 11:59
ElisDN
jakiro писал(а):Из vendor/codeception выполнялось все
Ну тогда оттуда запускайте.
Re: Первый запуск тестов
Добавлено: 2016.07.12, 12:15
jakiro
ElisDN писал(а):jakiro писал(а):Из vendor/codeception выполнялось все
Ну тогда оттуда запускайте.
Я понял, из вендора выполняется, потому что я его передаю php ... а если просто команду выполнять без php, то отказано в доступе
Разумеется все права пользователю выданы. Я не особо разбираюсь в debian делах, тем более, что атм ISP Manager