繁体   English   中英

无法从命令行运行 phpunit 测试

[英]Can't run phpunit tests from command line

我正在尝试使用 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 并解决问题。 但也许这会是一个重复,因为我已经在 laravel 应用程序中拥有了所有的 phpunit 代码。

我遇到了同样的问题,它有一个可能适用于其他人的特定解决方案。 我将我的文件存储在 Dropbox 中,并且 vendor/bin/phpunit 文件应该是这样的符号链接

$ ls -lo vendor/bin/phpunit
lrwxr-xr-x   vendor/bin/phpunit -> ../phpunit/phpunit/phpunit

但是,Dropbox 偶尔会用原始文件替换符号链接,这会导致上述错误。 行为不一致,当两台机器同时访问 Dropbox 时,相对符号链接似乎会中断。 修复符号链接对我vendor/phpunit/phpunit/phpunit或者您可以直接创建一个新的符号链接到 Dropbox 之外的vendor/phpunit/phpunit/phpunit并运行它。

编辑:现在我从 Dropbox 中排除了 Vendor 和 node_modules - 并在必要时简单地运行composer install 这非常有效,并且还可以解决在 Dropbox 上同步这么多文件的麻烦。 您可以做的是进入文件夹并删除所有文件。 等待 Dropbox 同步。 然后将该文件夹标记为排除。 最后,运行composer install并根据需要获取内容。 (删除 + composer install通常也可以解决其他问题)。

您需要安装 Composer 并在应用程序中运行composer installcomposer update以安装composer.json列出的不同软件包。

当您安装 Laravel 应用程序时,它不会立即安装软件包。

您可以通过查看应用程序的供应商目录并检查phpunit是否在其中来验证软件包是否已安装。

您是否全局安装了 phpunit? 我建议你这样做。

只需输入 Laravel 的根目录(例如 /var/www)

cd /var/www
phpunit

如果您只测试一个文件,您可以执行以下操作:

phpunit tests/ExampleTest.php

在我的情况下,运行composer install没有任何作用。 但是,删除供应商文件夹然后调用composer install修复了它。

单元测试:

D:\xampp\htdocs\Samplemed\vendor\bin>

phpunit ../../tests/Unit/Company/CompanyUnitTest

功能测试:

D:\xampp\htdocs\Samplemed\vendor\bin>phpunit 

../../tests/Feature/Company/CompanyFeatureTest

请试试这个。 它的工作正常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM