php - 无法从命令行运行 phpunit 测试

标签 php phpunit laravel-5

我正在尝试使用 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/

相关文章:

php - 选择所有日期等于今天但时区差异

php - 使用 Moodle 网络服务创建用户

php - 如何在 Symfony2 中测试响应头?

Laravel 依赖注入(inject)不起作用

php - 如何在命令行中使用composer安装最新版本的软件包?

laravel - 设计 Laravel 缓存(Redis)架构

php sql掉率系统

php - 可捕获的 fatal error : Object of class stdClass could not be converted to string

php - PSR-4 自动加载和命名空间导入找不到类

PHPUnit 和 Selenium : setUpBeforeClass() not called