我正在尝试使用 phpunit 框架在新的 laravel 5 应用程序中运行单元测试。在我的 laravel 应用程序的根路径中,我运行以下命令:
./vendor/bin/phpunit /tests/ExampleTest.php
然后我收到以下消息:
You need to set up the project dependencies using the following commands:
wget http://getcomposer.org/composer,phar
php composer.phar install
我已经在 may 系统中安装了 composer,并且我使用 composer 安装了 Laravel 5。当我安装一个新的 laravel 5 应用程序时,没有安装 phpunit 吗?如果没有,我如何将它安装到现有的 laravel 5 应用程序中?
我知道我也可以全局安装 phpunit 并解决问题。但也许这将是重复的,因为我已经在 5 月 laravel 应用程序中拥有所有 phpunit 代码。
最佳答案
我遇到了同样的问题,它有一个可能适用于其他人的特定解决方案。我将文件存储在 Dropbox 中,vendor/bin/phpunit 文件应该是这样的符号链接(symbolic link)
$ ls -lo vendor/bin/phpunit
lrwxr-xr-x vendor/bin/phpunit -> ../phpunit/phpunit/phpunit
但是,Dropbox 偶尔会替换 symlinks with the original file ,这将导致上述错误。行为不一致,并且当两台机器同时访问 Dropbox 时,相对符号链接(symbolic link)似乎会中断。修复符号链接(symbolic link)对我有用,或者你可以在 Dropbox 之外直接创建一个新的符号链接(symbolic link)到 vendor/phpunit/phpunit/phpunit
并运行它。
编辑:现在我从 Dropbox 中排除 Vendor 和 node_modules - 并在必要时简单地运行 composer install
。这非常有效,而且还解决了在 Dropbox 上同步这么多文件的麻烦。您可以做的是进入文件夹并删除所有文件。等待 Dropbox 同步。然后将该文件夹标记为已排除。最后,运行 composer install
即可获得所需的内容。 (删除 + composer install
通常也可以解决其他问题)。
关于php - 无法从命令行运行 phpunit 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30578156/