-
Для установки через 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".
-
Меню PHPStorm > Tools > Composer > Self-update или из терминала
-
Настройка 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 также поддерживаются.
- По желанию, можно сделать настройку шаблона, согласно документации 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
Полезные ссылки:
- https://phpunit.de/manual/current/en/installation.html
- http://vpawd.ru/articles/phpunit_support_in_phpstorm
- https://www.jetbrains.com/help/phpstorm/test-frameworks.html
- https://www.youtube.com/watch?v=Cnkr3TDDuWY
Битрикс:
- http://osotov.github.io/unit-tests-in-bitrix-context-part-2/
- https://github.com/osotov/phpunit-for-bitrix
- https://habr.com/ru/post/253561/
Mockery - фреймворк для создания заглушек (stubs, mocks), с этой задачей может справиться и phpUnit, но Mockery делает этот процесс проще:
Faker - библиотека, позволяющая создавать фейковые данные, область применения не ограничивается только юнит-тестами, важно заметить, что у библиотеки есть провайдеры для создания данных на русском языке: