Это старая версия документа!


Codeception - Тестирование

Фреймворк для автоматического тестирования веб-приложений на PHP — Codeception живет и развивается. Но в этот раз вместо скупой порции новостей я бы хотел представить вам первый скринкаст в котором показаны азы работы с Codeception. Если вы только читали про Codeception, то вам обязательно стоит взглянуть на него в действии. Ну а если не читали, но у вас есть веб-сайт, который бы вы хотели протестировать — тоже взгляните.

Функциональные тесты / functional

проверяет пользовательские сценарии через эмуляцию браузера

  • frontend/tests/functional
  • backend/tests/functional

Предварительная сборка тестов

$ ./vendor/bin/codecept build

Запуск всех тестов из выбранной апликации

$ ./vendor/bin/codecept -c frontend run functional -vvv
$ ./vendor/bin/codecept -c backend run functional -vvv

Запуск указанных тестов

$ cd /app
$ ./vendor/bin/codecept -c backend run functional LoginCest
  • Где /app - папка с нашим проектом
  • Где тест LoginCest.php лежит в backend/tests/functional (Так-как используется Sute из common/tests/functional.suite.yml)
  • Имя теста 2-я разными способами (LoginCest, LoginCest.php)

Юнит тесты / unit

проверяет что отдельный модуль кода работает верно

  • frontend/tests/unit
  • backend/tests/unit
  • common/tests/unit

Предварительная сборка тестов

$ ./vendor/bin/codecept build

Запуск всех тестов из выбранной апликации

$ ./vendor/bin/codecept -c common run unit -vvv
$ ./vendor/bin/codecept -c frontend run unit -vvv
$ ./vendor/bin/codecept -c backend run unit -vvv
  • Где -с - папка с конфигурационным файлом codeception.yml
  • -v - Минимальный уровень логирования
  • -vv - Средний уровень логирования
  • -vvv - Маскимальный уовень логирования

Запуск указанных тестов

$ cd /app
$ ./vendor/bin/codecept -c common run unit models/LoginFormTest.php
  • Где /app - папка с нашим проектом
  • Где тест models/LoginFormTest.php лежит в common/tests/unit (Так-как используется Sute из common/tests/unit.suite.yml)

Аналогично запускаются тесты из frontend и backend

Приёмочное тестирование / acceptance

проверяет пользовательские сценарии в браузере

  • frontend/tests/acceptance

Предварительная сборка тестов

$ ./vendor/bin/codecept build