Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
php:codeception [2018/07/07 05:00] – [Cept] mirocow | php:codeception [2018/11/12 19:19] (текущий) – [Travis] mirocow | ||
---|---|---|---|
Строка 4: | Строка 4: | ||
* https:// | * https:// | ||
+ | * http:// | ||
===== Установка ===== | ===== Установка ===== | ||
Строка 13: | Строка 14: | ||
Фреймворк для автоматического тестирования веб-приложений на PHP — Codeception живет и развивается. Но в этот раз вместо скупой порции новостей я бы хотел представить вам первый скринкаст в котором показаны азы работы с Codeception. Если вы только читали про Codeception, | Фреймворк для автоматического тестирования веб-приложений на PHP — Codeception живет и развивается. Но в этот раз вместо скупой порции новостей я бы хотел представить вам первый скринкаст в котором показаны азы работы с Codeception. Если вы только читали про Codeception, | ||
- | ===== Yii2 тестирование | + | ==== Создание ==== |
- | ==== Advanced профиль ==== | + | <code bash> |
+ | $ ./ | ||
+ | $ ./ | ||
+ | </ | ||
- | === Функциональные тесты / functional === | + | Создает папку tests с конфигурационными файлами |
- | проверяет пользовательские сценарии через эмуляцию браузера | + | <code bash> |
+ | $ ls -la ./ | ||
+ | total 12 | ||
+ | drwxr-xr-x 1 vagrant vagrant 374 Jul 7 22:34 . | ||
+ | drwxr-xr-x 1 vagrant vagrant 476 Jul 7 22:34 .. | ||
+ | drwxr-xr-x 1 vagrant vagrant | ||
+ | -rw-r--r-- 1 vagrant vagrant 347 Jul 7 22:34 acceptance.suite.yml | ||
+ | drwxr-xr-x 1 vagrant vagrant 102 Jul 7 22:34 _data | ||
+ | drwxr-xr-x 1 vagrant vagrant | ||
+ | -rw-r--r-- 1 vagrant vagrant 360 Jul 7 22:34 functional.suite.yml | ||
+ | drwxr-xr-x 1 vagrant vagrant 102 Jul 7 22:34 _output | ||
+ | drwxr-xr-x 1 vagrant vagrant 238 Jul 7 22:34 _support | ||
+ | drwxr-xr-x 1 vagrant vagrant 102 Jul 7 22:43 unit | ||
+ | -rw-r--r-- 1 vagrant vagrant 161 Jul 7 22:34 unit.suite.yml | ||
+ | </ | ||
- | | + | В которой будут создыны 3 кипа конфигураций: |
- | * backend/ | + | |
+ | === Описание === | ||
+ | |||
+ | * acceptance.suite.yml - Настройки для приемочного тестирования | ||
+ | * functional.suite.yml - Настройки для функционального тестирования | ||
+ | * unit.suite.yml - Настройки для юнит/ | ||
+ | * _support - Методы доступные через интерфейс < | ||
+ | * _output - В этой папке содержатся сгенерированные тестом файлы | ||
+ | * _data - В этойпапке содержатся загружаемые тестом файлы (Пример: | ||
+ | |||
+ | ==== Проверка и настройка тестовго окружения ==== | ||
+ | |||
+ | Проверка конфигурации | ||
+ | <code bash> | ||
+ | $ ./ | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | $ cd /app | ||
+ | $ ls -la ./tests/codeception/ | ||
+ | total 16 | ||
+ | drwxr-xr-x 1 vagrant vagrant 340 Jul 7 21:39 . | ||
+ | drwxr-xr-x 1 vagrant vagrant 340 Jul 7 21:39 .. | ||
+ | -rwxr-xr-x 1 vagrant vagrant 548 Jul 5 13:53 _bootstrap.php | ||
+ | -rwxr-xr-x 1 vagrant vagrant 266 Jul 5 13:53 codeception.yml | ||
+ | drwxr-xr-x 1 vagrant vagrant 102 Jul 7 21:39 _data | ||
+ | -rwxr-xr-x 1 vagrant vagrant 141 Jul 5 13:53 .gitignore | ||
+ | drwxr-xr-x 1 vagrant vagrant 102 Jul 5 13:53 _output | ||
+ | drwxr-xr-x 1 vagrant vagrant 136 Jul 7 22:09 _support | ||
+ | drwxr-xr-x 1 vagrant vagrant 136 Jul 7 22:11 unit | ||
+ | -rwxr-xr-x 1 vagrant vagrant 152 Jul 5 13:53 unit.suite.yml | ||
+ | </ | ||
+ | |||
+ | * Где /app - папка проекта на vagrant виртуальной машине | ||
+ | * codeception.yml - Базовый конфигурационный файл | ||
+ | * unit.suite.yml - Настройки запускаемой конфигурации | ||
+ | |||
+ | ===== Запуск тестов ===== | ||
+ | |||
+ | < | ||
+ | Обязательно после run уазать **конфигурацию/ | ||
+ | Базовые конфигурации: | ||
+ | Конфигурация/ | ||
+ | В этой же папке должен находится базовый конфигурационный файл | ||
+ | </ | ||
+ | |||
+ | <note tip> | ||
+ | |||
+ | [[https:// | ||
+ | ==== Параметры ==== | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | ===== Наборы тестов / Suite ===== | ||
+ | |||
+ | ==== Юнит тесты / unit ==== | ||
+ | |||
+ | проверяет что отдельный модуль кода работает верно | ||
+ | |||
+ | * frontend/ | ||
+ | * backend/ | ||
+ | * common/ | ||
Предварительная сборка тестов | Предварительная сборка тестов | ||
Строка 29: | Строка 113: | ||
$ ./ | $ ./ | ||
</ | </ | ||
+ | |||
+ | === Создание === | ||
+ | |||
+ | <code bash> | ||
+ | $ ./ | ||
+ | </ | ||
+ | |||
+ | === Запуск === | ||
Запуск всех тестов из выбранной апликации | Запуск всех тестов из выбранной апликации | ||
<code bash> | <code bash> | ||
- | $ ./ | + | $ ./ |
- | $ ./ | + | $ ./ |
+ | $ ./ | ||
</ | </ | ||
+ | |||
+ | * Где -с - папка с конфигурационным файлом codeception.yml (относительно текущей папки ./tests ) | ||
+ | * -v - Минимальный уровень логирования | ||
+ | * -vv - Средний уровень логирования | ||
+ | * -vvv - Маскимальный уовень логирования | ||
Запуск указанных тестов | Запуск указанных тестов | ||
Строка 41: | Строка 139: | ||
<code bash> | <code bash> | ||
$ cd /app | $ cd /app | ||
- | $ ./ | + | $ ./ |
</ | </ | ||
* Где /app - папка с нашим проектом | * Где /app - папка с нашим проектом | ||
- | * Где тест | + | * Где тест |
- | * Имя теста 2-я разными способами (LoginCest, LoginCest.php | LoginCept, LoginCept.php) | + | |
- | == Cept == | + | Аналогично запускаются тесты из frontend и backend |
+ | |||
+ | |||
+ | ==== Функциональные тесты / functional ==== | ||
+ | |||
+ | проверяет пользовательские сценарии через эмуляцию браузера | ||
+ | |||
+ | * frontend/ | ||
+ | * backend/ | ||
+ | |||
+ | Предварительная сборка тестов | ||
+ | |||
+ | <code bash> | ||
+ | $ ./ | ||
+ | </ | ||
+ | |||
+ | === Создание === | ||
+ | |||
+ | <code bash> | ||
+ | $ ./ | ||
+ | $ ./ | ||
+ | </ | ||
- | Записывается в виде сценария | + | <note tip>Cept - Записывается в виде сценария</ |
<code php> | <code php> | ||
Строка 63: | Строка 181: | ||
</ | </ | ||
- | == Cest == | + | <note tip>Cest - Записывается в виде PHP класса</ |
<code php> | <code php> | ||
Строка 80: | Строка 198: | ||
} | } | ||
</ | </ | ||
- | === Юнит тесты / unit === | + | === Запуск === |
- | + | ||
- | проверяет что отдельный модуль кода работает верно | + | |
- | + | ||
- | * frontend/ | + | |
- | * backend/ | + | |
- | * common/ | + | |
- | + | ||
- | Предварительная сборка тестов | + | |
- | + | ||
- | <code bash> | + | |
- | $ ./ | + | |
- | </ | + | |
Запуск всех тестов из выбранной апликации | Запуск всех тестов из выбранной апликации | ||
<code bash> | <code bash> | ||
- | $ ./ | + | $ ./ |
- | $ ./vendor/ | + | $ ./ |
- | $ ./ | + | |
</ | </ | ||
- | |||
- | * Где -с - папка с конфигурационным файлом codeception.yml | ||
- | * -v - Минимальный уровень логирования | ||
- | * -vv - Средний уровень логирования | ||
- | * -vvv - Маскимальный уовень логирования | ||
Запуск указанных тестов | Запуск указанных тестов | ||
Строка 111: | Строка 211: | ||
<code bash> | <code bash> | ||
$ cd /app | $ cd /app | ||
- | $ ./ | + | $ ./ |
</ | </ | ||
* Где /app - папка с нашим проектом | * Где /app - папка с нашим проектом | ||
- | * Где тест | + | * Где тест |
+ | * Имя теста 2-я разными способами (LoginCest, LoginCest.php | LoginCept, LoginCept.php) | ||
- | Аналогично запускаются тесты из frontend и backend | ||
- | === Приёмочное тестирование / acceptance === | + | ==== Приёмочное тестирование / acceptance |
проверяет пользовательские сценарии в браузере | проверяет пользовательские сценарии в браузере | ||
Строка 131: | Строка 231: | ||
</ | </ | ||
- | ===== Статьи ===== | + | === Запуск |
+ | <code bash> | ||
+ | $ | ||
+ | </ | ||
+ | |||
+ | ===== Модули ===== | ||
+ | |||
+ | Модули codeception распологаются в папке **[[https:// | ||
+ | |||
+ | ===== Компоненты ===== | ||
+ | |||
+ | <code bash> | ||
+ | $ composer require " | ||
+ | $ composer require " | ||
+ | $ composer require " | ||
+ | $ composer require " | ||
+ | </ | ||
+ | |||
+ | * codeception/ | ||
+ | * codeception/ | ||
+ | * codeception/ | ||
+ | * codeception/ | ||
+ | |||
+ | ===== Статьи / Документация ===== | ||
+ | |||
+ | * https:// | ||
+ | * http:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | * http:// | ||
* http:// | * http:// | ||
+ | * [[http:// | ||
+ | * http:// | ||
+ | ===== Сервисы для тестирования ===== | ||
+ | |||
+ | ==== Travis ==== | ||
+ | |||
+ | nano .travis.yml | ||
+ | < | ||
+ | </ | ||
===== Видео ===== | ===== Видео ===== | ||
Строка 140: | Строка 278: | ||
* http:// | * http:// | ||
* http:// | * http:// | ||
+ | * https:// | ||