运行 Laravel 的 Homestead 中的 PHPUnit

Running PHPUnit in Laravel's Homestead

我正在使用 Homestead 来为我的 Laravel 应用程序提供服务。我正在尝试 运行 PHPUnit。根据 docs:

An example test file is provided in the app/tests directory. After installing a new Laravel application, simply run phpunit on the command line to run your tests.

好吧,当我 "simply running" phpunit 在我的项目根目录(在 Homestead 环境中)时,我得到这个:

程序'phpunit'当前未安装。

那我需要单独安装PHPUnit吗?文档没有提到它。我做错了什么?

您可以在系统上使用全局安装它。

composer global require phpunit/phpunit

但是,如果不同的项目需要不同的版本,这可能会导致问题。

另一种选择是通过引用 vendor 目录的路径,将安装的版本用作依赖项的一部分。

./vendor/bin/phpunit

您甚至可以在 ~/Homestead 目录中的别名文件中添加别名。这样您就可以始终使用随项目依赖项一起安装的 phpunit 版本。

alias phpunit=./vendor/bin/phpunit

您需要重新启动 homestead box 才能使用别名。

您可以通过以下方式全局安装它:

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

或者您可以将其与本地作曲家一起使用:

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

由于是开发所需的包,Laravel提供了PHPunit(composer中的require-dev部分),你应该在vendor的文件夹中找到它:

$ your_app/vendor/bin/

您可以 运行 从您的应用程序文件夹的根目录输入命令:

$ vendor/bin/phpunit

希望对您有所帮助!