Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
php:codeception [2018/07/07 22:19] – [Статьи] mirocowphp:codeception [2018/11/12 19:19] (текущий) – [Travis] mirocow
Строка 50: Строка 50:
   * _data - В этойпапке содержатся загружаемые тестом файлы (Пример: <text>$I->attachFile('input[@type="file"]', 'prices.xls');</text>)   * _data - В этойпапке содержатся загружаемые тестом файлы (Пример: <text>$I->attachFile('input[@type="file"]', 'prices.xls');</text>)
  
-==== Настройка ====+==== Проверка и настройка тестовго окружения ====
  
 Проверка конфигурации Проверка конфигурации
Строка 56: Строка 56:
 $ ./vendor/bin/codecept -c ./vendor/mirocow/yii2-queue config:validate $ ./vendor/bin/codecept -c ./vendor/mirocow/yii2-queue config:validate
 </code> </code>
-==== Запуск ==== 
- 
-<note important> 
-Обязательно после run уазать **конфигурацию/Sute** запускаемого теста 
-Базовые конфигурации: **unit**, **functional**, **acceptance** 
-Конфигурация/Sute берется из корня папки с запускаемыми скриптами и носит название ***.suite.yml**. 
-В этой же папке должен находится базовый конфигурационный файл 
-</note> 
  
 <code bash> <code bash>
Строка 85: Строка 77:
   * unit.suite.yml - Настройки запускаемой конфигурации   * unit.suite.yml - Настройки запускаемой конфигурации
  
-==== Функциональные тесты / functional ====+===== Запуск тестов =====
  
-проверяет пользовательские сценарии через эмуляцию браузера+<note> 
 +Обязательно после run уазать **конфигурацию/Sute** запускаемого теста 
 +Базовые конфигурации: **unit**, **functional**, **acceptance** 
 +Конфигурация/Sute берется из корня папки с запускаемыми скриптами и носит название ***.suite.yml**. 
 +В этой же папке должен находится базовый конфигурационный файл 
 +</note>
  
-  * frontend/tests/functional +<note tip>Если указан полный путь до тесового файла, то не надо указывать suite<code bash>$ codecept run ./tests/acceptance/MyCept.php</code></note> 
-  * backend/tests/functional+ 
 +[[https://codeception.com/docs/reference/Commands#Run|Подробнее...]] 
 +==== Параметры ==== 
 + 
 +  * ''-с'' - Папка с тестами конфигационным файлом или файл конфигурации 
 +  * ''-g'' slow - Запуск теста из укзанной группы 
 +  * ''-o'' "settings: shuffle: true" - Переопределение конфигурационных настроек 
 +  * ''-v''
 +  * ''-vv'' -  
 +  * ''-vvv'' -  
 +  * ''--steps'' -  
 +===== Наборы тестов / Suite ===== 
 + 
 +==== Юнит тесты / unit ==== 
 + 
 +проверяет что отдельный модуль кода работает верно 
 + 
 +  * frontend/tests/unit 
 +  * backend/tests/unit 
 +  * common/tests/unit
  
 Предварительная сборка тестов Предварительная сборка тестов
Строка 101: Строка 117:
  
 <code bash> <code bash>
-$ ./vendor/bin/codecept -c ./frontend generate:test functional UserFormCept -vvv+$ ./tests/codeception/common generate:test unit UserTest -vvv
 </code> </code>
  
Строка 109: Строка 125:
  
 <code bash> <code bash>
-$ ./vendor/bin/codecept -c ./frontend run functional -vvv +$ ./vendor/bin/codecept -c ./common run unit -vvv 
-$ ./vendor/bin/codecept -c ./backend run functional -vvv+$ ./vendor/bin/codecept -c ./frontend run unit -vvv 
 +$ ./vendor/bin/codecept -c ./backend run unit -vvv
 </code> </code>
 +
 +  * Где -с - папка с конфигурационным файлом codeception.yml (относительно текущей папки ./tests )
 +  * -v - Минимальный уровень логирования
 +  * -vv - Средний уровень логирования
 +  * -vvv - Маскимальный уовень логирования
  
 Запуск указанных тестов Запуск указанных тестов
Строка 117: Строка 139:
 <code bash> <code bash>
 $ cd /app $ cd /app
-$ ./vendor/bin/codecept -c ./backend run functional LoginCest+$ ./vendor/bin/codecept -c ./common run unit models/LoginFormTest.php
 </code> </code>
  
   * Где /app - папка с нашим проектом   * Где /app - папка с нашим проектом
-  * Где тест LoginCest.php лежит в ./backend/tests/functional (Так-как используется Sute из ./common/tests/functional.suite.yml) +  * Где тест models/LoginFormTest.php лежит в common/tests/unit (Так-как используется Sute из common/tests/unit.suite.yml) 
-  * Имя теста 2-я разными способами (LoginCest, LoginCest.php | LoginCept, LoginCept.php)+ 
 +Аналогично запускаются тесты из frontend и backend 
 + 
 + 
 +==== Функциональные тесты / functional ==== 
 + 
 +проверяет пользовательские сценарии через эмуляцию браузера 
 + 
 +  * frontend/tests/functional 
 +  * backend/tests/functional 
 + 
 +Предварительная сборка тестов 
 + 
 +<code bash> 
 +$ ./vendor/bin/codecept build 
 +</code> 
 + 
 +=== Создание === 
 + 
 +<code bash> 
 +./vendor/bin/codecept -c ./frontend generate:cept functional UserFormCept 
 +$ ./vendor/bin/codecept -c ./frontend generate:cest functional UserFormCept 
 +</code>
  
 <note tip>Cept - Записывается в виде сценария</note> <note tip>Cept - Записывается в виде сценария</note>
Строка 154: Строка 198:
 } }
 </code> </code>
- 
-==== Юнит тесты / unit ==== 
- 
-проверяет что отдельный модуль кода работает верно 
- 
-  * frontend/tests/unit 
-  * backend/tests/unit 
-  * common/tests/unit 
- 
-Предварительная сборка тестов 
- 
-<code bash> 
-$ ./vendor/bin/codecept build 
-</code> 
- 
-=== Создание === 
- 
-<code bash> 
-$ ./tests/codeception/common generate:test unit UserTest -vvv 
-</code> 
- 
 === Запуск === === Запуск ===
  
Строка 180: Строка 203:
  
 <code bash> <code bash>
-$ ./vendor/bin/codecept -c ./common run unit -vvv +$ ./vendor/bin/codecept -c ./frontend run functional -vvv 
-$ ./vendor/bin/codecept -c ./frontend run unit -vvv +$ ./vendor/bin/codecept -c ./backend run functional -vvv
-$ ./vendor/bin/codecept -c ./backend run unit -vvv+
 </code> </code>
- 
-  * Где -с - папка с конфигурационным файлом codeception.yml (относительно текущей папки ./tests ) 
-  * -v - Минимальный уровень логирования 
-  * -vv - Средний уровень логирования 
-  * -vvv - Маскимальный уовень логирования 
  
 Запуск указанных тестов Запуск указанных тестов
Строка 194: Строка 211:
 <code bash> <code bash>
 $ cd /app $ cd /app
-$ ./vendor/bin/codecept -c ./common run unit models/LoginFormTest.php+$ ./vendor/bin/codecept -c ./backend run functional LoginCest
 </code> </code>
  
   * Где /app - папка с нашим проектом   * Где /app - папка с нашим проектом
-  * Где тест models/LoginFormTest.php лежит в common/tests/unit (Так-как используется Sute из common/tests/unit.suite.yml)+  * Где тест LoginCest.php лежит в ./backend/tests/functional (Так-как используется Sute из ./common/tests/functional.suite.yml
 +  * Имя теста 2-я разными способами (LoginCest, LoginCest.php | LoginCept, LoginCept.php)
  
-Аналогично запускаются тесты из frontend и backend 
  
 ==== Приёмочное тестирование / acceptance ==== ==== Приёмочное тестирование / acceptance ====
Строка 215: Строка 232:
  
 === Запуск === === Запуск ===
 +
 +<code bash>
 +
 +</code>
 +
 +===== Модули =====
 +
 +Модули codeception распологаются в папке **[[https://github.com/marcovtwout/Codeception/tree/2.3/src/Codeception/Module|./vendor/codeception/base/src/Codeception/Module]]**
  
 ===== Компоненты ===== ===== Компоненты =====
Строка 232: Строка 257:
 ===== Статьи / Документация ===== ===== Статьи / Документация =====
  
 +  * https://github.com/yupe/codeception-guide-ru :!:
 +  * http://allframeworks.ru/codeception :!:
 +  * https://p0vidl0.info/yii2-api-guides/guide-ru-test-overview.html
 +  * https://russianpenguin.ru/%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BF%D0%BE/
 +  * http://www.jetsource.ru/scripts/stats_and_tutorials/codeception_tests
   * http://habrahabr.ru/post/136477/   * http://habrahabr.ru/post/136477/
   * [[http://www.jetsource.ru/scripts/stats_and_tutorials/codeception_tests|ТЕСТИРОВАНИЕ ПРОЕКТА С CODECEPTION]]   * [[http://www.jetsource.ru/scripts/stats_and_tutorials/codeception_tests|ТЕСТИРОВАНИЕ ПРОЕКТА С CODECEPTION]]
 +  * http://itfap.s2z.ru/read/Modulqnoe_testirovanie_povedeniya_Yii2_s_pomoschqyu_Codeception
  
 +===== Сервисы для тестирования =====
 +
 +==== Travis ====
 +
 +nano .travis.yml
 +<code>
 +</code>
 ===== Видео ===== ===== Видео =====