Запуск PHPUnit в Laravel Homestead

Я использую Homestead для обслуживания моего приложения Laravel. Я пытаюсь запустить PHPUnit. Согласно docs:

Пример тестового файла содержится в каталоге приложений/тестов. После устанавливая новое приложение Laravel, просто запустите phpunit на командной строки для выполнения ваших тестов.

Ну, когда я "просто бегу" phpunit в корне моего проекта (внутри среды Homestead), я получаю следующее:

В настоящее время программа phpunit не установлена.

Нужно ли устанавливать PHPUnit отдельно? В документации это не упоминается. Что я делаю неправильно?

Ответы

Ответ 1

Вы можете установить его глобально в системе, используя.

composer global require phpunit/phpunit

Однако, если вам нужны разные версии для разных проектов, это может вызвать проблемы.

Альтернативным вариантом является использование версии, установленной как часть ваших зависимостей, путем ссылки на путь к вашему каталогу vendor.

./vendor/bin/phpunit

Вы даже можете добавить псевдоним в свой файл псевдонимов в вашем каталоге ~/Homestead. Таким образом, вы всегда используете версию phpunit, установленную с вашими зависимостями проекта.

alias phpunit=./vendor/bin/phpunit

Вам понадобится перезапустить поле для homestead, чтобы использовать псевдоним.

Ответ 2

Вы можете установить его глобально с помощью

$ composer global require "phpunit/phpunit=4.4.*"
# then use
$ phpunit

или вы можете использовать его с вашим местным композитором:

$ composer require "phpunit/phpunit=4.4.*"
# then
$ vendor/bin/phpunit

Ответ 3

Поскольку это пакет, необходимый для разработки, Laravel предоставляет PHPunit (раздел require-dev в композиторе), вы должны найти его в папке поставщика:

$ your_app/vendor/bin/

Вы можете запустить команду из корневой папки вашего приложения, набрав:

$ vendor/bin/phpunit

Надеюсь, это поможет!