Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| php:codeception [2018/07/06 15:54] – [Функциональные тесты / functional] 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 кипа конфигураций: |
| - | | + | |
| - | Предварительная | + | === Описание === |
| - | <code bash> | + | * acceptance.suite.yml - Настройки для приемочного тестирования |
| - | $ ./vendor/ | + | * functional.suite.yml - Настройки для функционального тестирования |
| - | </code> | + | * unit.suite.yml - Настройки для юнит/ |
| + | * _support - Методы доступные через интерфейс | ||
| + | * _output - В этой папке содержатся сгенерированные тестом файлы | ||
| + | * _data - В этойпапке содержатся загружаемые тестом файлы (Пример: | ||
| - | Запуск всех | + | ==== Проверка и настройка тестовго окружения ==== |
| + | Проверка конфигурации | ||
| <code bash> | <code bash> | ||
| - | $ ./ | + | $ ./ |
| - | $ ./vendor/bin/codecept -c backend run functional | + | |
| </ | </ | ||
| - | |||
| - | Запуск указанных тестов | ||
| <code bash> | <code bash> | ||
| $ cd /app | $ cd /app | ||
| - | $ ./vendor/bin/codecept | + | $ ls -la ./tests/codeception/common/ |
| + | 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 - папка | + | * Где /app - папка проекта на vagrant виртуальной машине |
| - | * Где тест | + | * codeception.yml - Базовый конфигурационный файл |
| - | * Имя | + | * unit.suite.yml - Настройки запускаемой конфигурации |
| - | === Юнит тесты / unit === | + | |
| + | ===== Запуск | ||
| + | |||
| + | < | ||
| + | Обязательно после run уазать **конфигурацию/ | ||
| + | Базовые конфигурации: | ||
| + | Конфигурация/Sute берется из корня папки с запускаемыми скриптами и носит название ***.suite.yml**. | ||
| + | В этой же папке должен находится | ||
| + | </ | ||
| + | |||
| + | <note tip> | ||
| + | |||
| + | [[https:// | ||
| + | ==== Параметры ==== | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | ===== Наборы тестов / Suite ===== | ||
| + | |||
| + | ==== Юнит тесты / unit ==== | ||
| проверяет что отдельный модуль кода работает верно | проверяет что отдельный модуль кода работает верно | ||
| Строка 60: | Строка 113: | ||
| $ ./ | $ ./ | ||
| </ | </ | ||
| + | |||
| + | === Создание === | ||
| + | |||
| + | <code bash> | ||
| + | $ ./ | ||
| + | </ | ||
| + | |||
| + | === Запуск === | ||
| Запуск всех тестов из выбранной апликации | Запуск всех тестов из выбранной апликации | ||
| <code bash> | <code bash> | ||
| - | $ ./ | + | $ ./ |
| - | $ ./ | + | $ ./ |
| - | $ ./ | + | $ ./ |
| </ | </ | ||
| - | * Где -с - папка с конфигурационным файлом codeception.yml | + | * Где -с - папка с конфигурационным файлом codeception.yml |
| * -v - Минимальный уровень логирования | * -v - Минимальный уровень логирования | ||
| * -vv - Средний уровень логирования | * -vv - Средний уровень логирования | ||
| Строка 78: | Строка 139: | ||
| <code bash> | <code bash> | ||
| $ cd /app | $ cd /app | ||
| - | $ ./ | + | $ ./ |
| </ | </ | ||
| Строка 86: | Строка 147: | ||
| Аналогично запускаются тесты из frontend и backend | Аналогично запускаются тесты из frontend и backend | ||
| - | === Приёмочное тестирование / acceptance === | + | |
| + | ==== Функциональные тесты / functional ==== | ||
| + | |||
| + | проверяет пользовательские сценарии через эмуляцию браузера | ||
| + | |||
| + | * frontend/ | ||
| + | * backend/ | ||
| + | |||
| + | Предварительная сборка тестов | ||
| + | |||
| + | <code bash> | ||
| + | $ ./ | ||
| + | </ | ||
| + | |||
| + | === Создание === | ||
| + | |||
| + | <code bash> | ||
| + | $ ./ | ||
| + | $ ./ | ||
| + | </ | ||
| + | |||
| + | <note tip>Cept - Записывается в виде сценария</ | ||
| + | |||
| + | <code php> | ||
| + | <? | ||
| + | $I = new AcceptanceTester($scenario); | ||
| + | $I-> | ||
| + | $I-> | ||
| + | $I-> | ||
| + | $I-> | ||
| + | $I-> | ||
| + | $I-> | ||
| + | </ | ||
| + | |||
| + | <note tip>Cest - Записывается в виде PHP класса</ | ||
| + | |||
| + | <code php> | ||
| + | <?php | ||
| + | class UserCest | ||
| + | { | ||
| + | public function loginAsRegularUser(\AcceptanceTester $I) | ||
| + | { | ||
| + | $I-> | ||
| + | $I-> | ||
| + | $I-> | ||
| + | $I-> | ||
| + | $I-> | ||
| + | $I-> | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | === Запуск === | ||
| + | |||
| + | Запуск всех тестов из выбранной апликации | ||
| + | |||
| + | <code bash> | ||
| + | $ ./ | ||
| + | $ ./ | ||
| + | </ | ||
| + | |||
| + | Запуск указанных тестов | ||
| + | |||
| + | <code bash> | ||
| + | $ cd /app | ||
| + | $ ./ | ||
| + | </ | ||
| + | |||
| + | * Где /app - папка с нашим проектом | ||
| + | * Где тест LoginCest.php лежит в ./ | ||
| + | * Имя теста 2-я разными способами (LoginCest, LoginCest.php | LoginCept, LoginCept.php) | ||
| + | |||
| + | |||
| + | ==== Приёмочное тестирование / acceptance | ||
| проверяет пользовательские сценарии в браузере | проверяет пользовательские сценарии в браузере | ||
| Строка 98: | Строка 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 | ||
| + | < | ||
| + | </ | ||
| ===== Видео ===== | ===== Видео ===== | ||
| Строка 107: | Строка 278: | ||
| * http:// | * http:// | ||
| * http:// | * http:// | ||
| + | * https:// | ||