Помогите создать первый Codeception-test

Всё про тестирование в Yii 2.0
Аватара пользователя
Insolita
Сообщения: 788
Зарегистрирован: 2011.06.06, 01:39
Контактная информация:

Помогите создать первый Codeception-test

Сообщение Insolita » 2014.08.10, 11:11

В общем установила по этому мануалу https://github.com/yiisoft/yii2/blob/ma ... /README.md
Посмотрела в папочке tests примеры, посмотрела вот это, https://github.com/yiisoft/yii2-codeception вот это http://codeception.com/docs/modules/Yii2 , полистала эти доки http://codeception.com/docs/02-GettingStarted
и получила полную кашу в голове чё делать и с чего начать...
хочу попробовать сделать
1. unit test например модели /app/modules/content/models/News.php
2. Функциональный тест того же залогинивания, который у меня не по стандартному роуту
В примерах там все модели\страницы прямо в тесте
Где в каких папках что надо создавать, или в консоли надо генерировать generate:cept, надо еще какие-то конфиги прописывать... как пользоваться генератором фикстур yii2 - faker установлен.. :?: :?: :?: :roll: :roll:

Аватара пользователя
Insolita
Сообщения: 788
Зарегистрирован: 2011.06.06, 01:39
Контактная информация:

Re: Помогите создать первый Codeception-test

Сообщение Insolita » 2014.08.10, 11:30

хех ладно вроде разбираюсь по-тихоньку.. вот чего помогло http://hashcode.ru/questions/301326/php ... 1%81%D1%82
спасибо автору

Аватара пользователя
samdark
Администратор
Сообщения: 9201
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Помогите создать первый Codeception-test

Сообщение samdark » 2014.08.10, 11:46

О, спасибо за ссылку. Пойдёт как основа для документации :)

Аватара пользователя
Insolita
Сообщения: 788
Зарегистрирован: 2011.06.06, 01:39
Контактная информация:

Re: Помогите создать первый Codeception-test

Сообщение Insolita » 2014.08.10, 13:33

Н-да... конечно не хватает качественного боевого примера тестов...
непонятно для чего создались базы yii2_base_unit yii2_base_functional и т.п. - bkb gjlразумевается что мы в них аливам дампы нашей рабочей базы чтоб основную не трогать?
phpunit тесты из коробки не заработали... которые через generate:test - норм, а которые generate:phpunit - тоже самое - ругаются что не могут найти модели\классы по путям

Skiller
Сообщения: 627
Зарегистрирован: 2011.11.27, 00:21

Re: Помогите создать первый Codeception-test

Сообщение Skiller » 2014.08.10, 16:18

чего именно не хватает ? создайте на github issue с подробным описанием.
по поводу отдельных баз, то для каждого вида тестов она своя, это упрощает разработку , дебаг и CI. Дамп вливается с помощью миграций как уже было сказано, для этого в каждом из видов (functional, acceptance, unit) есть yii файл, просто надо сделать php yii migrate в нужном виде тестов и он сам прогонит все миграции на нужную базу.

>unit test например модели /app/modules/content/models/News.php

там же есть примеры как с использование базы так и без, смотрите yii2-basic и yii2-advanced

Аватара пользователя
Insolita
Сообщения: 788
Зарегистрирован: 2011.06.06, 01:39
Контактная информация:

Re: Помогите создать первый Codeception-test

Сообщение Insolita » 2014.08.10, 18:34

чего именно не хватает ? создайте на github issue с подробным описанием.
да не это не на уровне issue и разрабов, это мне личного опыта не хватает - тут https://github.com/dektrium/yii2-user/tree/master/tests вот можно в качестве примеров тесты еще посмотреть..
Просто разбросано всё по кусочкам... вот про migrate https://github.com/yiisoft/yii2/tree/ma ... s/advanced в доке адванседа нашла

Skiller
Сообщения: 627
Зарегистрирован: 2011.11.27, 00:21

Re: Помогите создать первый Codeception-test

Сообщение Skiller » 2014.08.10, 18:56

>да не это не на уровне issue и разрабов

это не важно, просто на все нет времени конечно, но список clarify был бы очень полезен, с точки зрения тех кто начинает только осваивать *DD, т. к. людям понимающим это, что - то может казаться очевидным и об этом могут не упоминать. Настоятельно рекомендую вам создать issue со списком того что должно быть лучше отражено в доках и что добавить, это поможет сделать их лучше :) Сейчас их (доки) немного подзабросили но тем не менее

>это мне личного опыта не хватает

можете начать с книги http://www.amazon.com/Test-Driven-Devel ... 0321146530

Аватара пользователя
Faenir
Сообщения: 292
Зарегистрирован: 2010.01.06, 01:46
Откуда: Симферополь

Re: Помогите создать первый Codeception-test

Сообщение Faenir » 2014.08.10, 20:46

Тоже кстати долго не мог разобраться с Codeception... в итоге разобрался благодаря этому же вопросу на ХэшКоде :)

Аватара пользователя
demisang
Сообщения: 159
Зарегистрирован: 2012.10.27, 15:03
Контактная информация:

Re: Помогите создать первый Codeception-test

Сообщение demisang » 2014.09.18, 22:30

У меня схожая проблема, но по всей видимости в фреймворке в части тестов произошли какие-то изменения, т.к. теперь в доках указано, что нужно создать только одну БД "yii2_advanced_tests" и выполнить миграции из

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

codeception/bin/yii migrate
Но я не пойму, как через composer подтянуть в корень проекта папку "tests", через composer update папка не приходит.
Ведь я правильно понял, что в тех же доках указано выполнить миграции командой:

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

codeception/bin/yii migrate
на самом деле ведёт в

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

app/tests/codeception/bin/yii migrate
Грамотно ли будет вручную выдернуть эту папку из репозитория и положить в мой проект?

Аватара пользователя
samdark
Администратор
Сообщения: 9201
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Помогите создать первый Codeception-test

Сообщение samdark » 2014.09.23, 12:37

Не не не. Ничего не надо дёргать. Если вы уже стартанули приложение, всё у вас по старому, по идее. Если же новое начнёте, будет новая структура директорий.

Аватара пользователя
Faenir
Сообщения: 292
Зарегистрирован: 2010.01.06, 01:46
Откуда: Симферополь

Re: Помогите создать первый Codeception-test

Сообщение Faenir » 2014.09.30, 13:42

Подскажите пожалуйста, как организовать структуру тестов, для большого (модульного) приложения?
Использую шаблон advanced и есть много модулей, хотел попробовать покрыть тестами, но никак не могу разобраться, как это все упорядочить...
Если хранить их как это сейчас сделано в advanced шаблоне, то это же будет 100500 файлов в одной папке...
https://github.com/yiisoft/yii2/tree/ma ... acceptance

Подскажите, что есть почитать/посмотреть на эту тему, желательно на русском.

Аватара пользователя
Faenir
Сообщения: 292
Зарегистрирован: 2010.01.06, 01:46
Откуда: Симферополь

Re: Помогите создать первый Codeception-test

Сообщение Faenir » 2014.10.01, 17:18

С этим вроде разобрался...
Теперь не могу заставить нормально работать codeception с русским языком... В консоле кракозябры... Как побороть это?

upd: и с этим разобрался вроде, всем спасибо ;)
Может кому пригодится: просто сменил кодировку в консоле винды на utf-8. Не знаю на сколько правильно, но работает...
http://stackoverflow.com/questions/1410 ... by-default

Аватара пользователя
denisOgr
Сообщения: 133
Зарегистрирован: 2012.02.02, 13:18
Контактная информация:

Re: Помогите создать первый Codeception-test

Сообщение denisOgr » 2014.10.16, 17:45

MrArthur писал(а):С этим вроде разобрался...
Та же задача.Подскажите,что и где читали?

Аватара пользователя
Faenir
Сообщения: 292
Зарегистрирован: 2010.01.06, 01:46
Откуда: Симферополь

Re: Помогите создать первый Codeception-test

Сообщение Faenir » 2014.10.16, 19:38

Читал официальную документацию на http://codeception.com/ :)
За основу взял структуру из advanced шаблона:
https://github.com/yiisoft/yii2/tree/ma ... nced/tests
С модулями все просто получилось... просто создаешь структуру необходимую и codeception ее подхватывает...
например /tests/codeception/frontend/functional/modules/user/LoginCept.php

Аватара пользователя
denisOgr
Сообщения: 133
Зарегистрирован: 2012.02.02, 13:18
Контактная информация:

Re: Помогите создать первый Codeception-test

Сообщение denisOgr » 2014.10.17, 08:30

спс.
Кстати,по поводу модулей. У нас модульная система Каждый разработчик пишет свой модуль В модулях - все: от контроллeров :) до миграция Куда тесты лучше ложить? В общую папке каждого апликейшена или каждый в своей папке для большей абстракции ?

Аватара пользователя
Faenir
Сообщения: 292
Зарегистрирован: 2010.01.06, 01:46
Откуда: Симферополь

Re: Помогите создать первый Codeception-test

Сообщение Faenir » 2014.10.17, 10:03

Если модули полностью самостоятельные, то наверно лучше писать для модуля отдельно... если это одна цельная система, то может лучше и в общей папке хранить. Тут уже только вам решать)

Аватара пользователя
xoma
Сообщения: 641
Зарегистрирован: 2009.04.02, 15:24
Откуда: Ногинск
Контактная информация:

Re: Помогите создать первый Codeception-test

Сообщение xoma » 2014.10.17, 17:15

Мы, например, храним все тесты модулей в одной папке https://github.com/yupe/yupe/tree/master/tests, хотя более логично и правильно было бы хранить тесты в папке с модулем, но это актуально только в том случае если модуль действительно автономен.

Пользуясь, случаем, хочу подсказать ссылку на переведенную документацию по Codeception http://allframeworks.ru/codeception исходники вот тут https://github.com/yupe/codeception-guide-ru/
Очень хотим актуализировать доки для версии 2.x будем благодарны за помощь.

Аватара пользователя
Kalinin.Andrey
Сообщения: 113
Зарегистрирован: 2013.11.01, 15:11

Re: Помогите создать первый Codeception-test

Сообщение Kalinin.Andrey » 2015.03.31, 19:16

Где исполняемый файл codecept?

Всё установи по докам, т.е.:

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

composer global require "codeception/codeception=2.0.*"
composer global require "codeception/specify=*"
composer global require "codeception/verify=*"
 
Всё встало без ошибок.

Но у меня не появилась папка "vendor/codeception". Где искать?

Спасибо!

padlyuck
Сообщения: 302
Зарегистрирован: 2015.02.03, 09:50

Re: Помогите создать первый Codeception-test

Сообщение padlyuck » 2015.03.31, 19:20

вы его глобально ставили, так что он лежит /home/username/.composer/vendor или в виндовом аналоге этого пути.

padlyuck
Сообщения: 302
Зарегистрирован: 2015.02.03, 09:50

Re: Помогите создать первый Codeception-test

Сообщение padlyuck » 2015.03.31, 19:22

исполняемые файлы лежат в /home/username/.composer/vendor/bin нужно настроить переменную окружения PATH чтоб она и туда смотрела

Ответить