Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save avshatalov48/1aec212f1430e877f7c07f9dbbc7fc47 to your computer and use it in GitHub Desktop.

Select an option

Save avshatalov48/1aec212f1430e877f7c07f9dbbc7fc47 to your computer and use it in GitHub Desktop.

Установка и настройка PHPUnit (Composer + PHPStorm 2017.2)

  1. Для установки через Composer, добавляем секцию в composer.json (require-dev - без загрузки на production)

    "require-dev": { "phpunit/phpunit" : "^4.8" }

    1.2. Либо, composer require --dev phpunit/phpunit ^4.8

    1.3. Либо, скачиваем файл архива PHPUnit (https://phar.phpunit.de/) и кладем в папку проекта. Проверка из терминала "php phpunit.phar --version".

  2. Меню PHPStorm > Tools > Composer > Self-update или из терминала

  3. Настройка PHPStorm

3.1. Показываем PHPStorm - PHPUnit

  • Меню PHPStorm > File > Settings > Languages & Frameworks > PHP > Test Frameworks
  • PHPUnit Local (current project)
  • Use Composer autoloader
  • По желанию, можно указать путь к файлу конфигурации phpunit.xml, или путь к файлу начальной загрузки "Default bootstrap file"(для запуска произвольного кода PHP перед запуском юнит-тестов).

3.2. Указать версию PHP интерпретатора (для модуля проверки синтаксиса тестов)

  • Меню PHPStorm > File > Settings > Languages & Frameworks > PHP > CLI Interpreter

3.3. Создание конфигурации запуска для тестирования

  • Run > Edit Configurations > +PHPUnit
  • Name - Название конфигурации
  • Затем, можно указать какие тесты должны быть запущены (все тесты в директории, определённого тестового класса или одного конкретного теста).
  • Directory - Каталог с тестами (повторяет структуру проекта)
  • Добавление аргументов в Test Runner options (параметры для запуска тестов) или параметры интерпретатора PHP также поддерживаются.
  1. По желанию, можно сделать настройку шаблона, согласно документации PHPUnit.
  • Меню PHPStorm > File > Settings > Editor > File and Code Templates > PHPUnit Test

P.S.: Для выполнения некоторых задач тестирования PHPUnit может потребоваться установить библиотеку phpunit/php-invoker (https://packagist.org/packages/phpunit/php-invoker), которой в свою очередь, для работы требуется PHP-расширение ext-pcntl (http://php.net/manual/en/pcntl.installation.php), которое (на данный момент) работает только под Unix платформами!!!

  • composer require --dev phpunit/php-invoker

Полезные ссылки:

Битрикс:

Mockery - фреймворк для создания заглушек (stubs, mocks), с этой задачей может справиться и phpUnit, но Mockery делает этот процесс проще:

Faker - библиотека, позволяющая создавать фейковые данные, область применения не ограничивается только юнит-тестами, важно заметить, что у библиотеки есть провайдеры для создания данных на русском языке:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment