无法从命令行 运行 phpunit 测试
Can't run phpunit tests from command line
我正在尝试 运行 在一个新的 laravel 5 应用程序中使用 phpunit 框架进行单元测试。在我的 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 代码。
您是否全局安装了 phpunit?我建议你这样做。
只需输入您的 laravel 的根目录(例如 /var/www)
cd /var/www
phpunit
如果你只想测试一个文件,你可以这样做:
phpunit tests/ExampleTest.php
您需要安装 Composer 并在您的应用程序中安装 运行 composer install
或 composer update
才能安装 composer.json
.
中列出的不同软件包
当您安装 Laravel 应用程序时,它不会立即安装软件包。
您可以通过查看应用程序的供应商目录并检查 phpunit
是否在其中来验证软件包是否已安装。
我遇到了同样的问题,它有一个可能适用于其他人的特定解决方案。我将文件存储在 Dropbox 中,vendor/bin/phpunit 文件应该是这样的符号链接
$ ls -lo vendor/bin/phpunit
lrwxr-xr-x vendor/bin/phpunit -> ../phpunit/phpunit/phpunit
但是Dropbox偶尔会替换symlinks with the original file,这会导致上面的错误。行为不一致,并且当两台机器同时访问 Dropbox 时,相对符号链接似乎会中断。修复符号链接对我有用,或者你可以直接创建一个新的符号链接到 Dropbox 之外的 vendor/phpunit/phpunit/phpunit
和 运行 那。
编辑:现在我从 Dropbox 中排除 Vendor 和 node_modules - 并且在必要时简单地 运行 composer install
。这非常有效,而且还解决了在 Dropbox 上同步这么多文件的麻烦。您可以做的是进入文件夹并删除所有文件。等待 Dropbox 同步。然后将该文件夹标记为已排除。最后,运行 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
请试试这个。它工作正常。
运行 composer install
在我的案例中什么也没做。但是,删除供应商文件夹然后调用 composer install
修复它。
我正在尝试 运行 在一个新的 laravel 5 应用程序中使用 phpunit 框架进行单元测试。在我的 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 代码。
您是否全局安装了 phpunit?我建议你这样做。
只需输入您的 laravel 的根目录(例如 /var/www)
cd /var/www
phpunit
如果你只想测试一个文件,你可以这样做:
phpunit tests/ExampleTest.php
您需要安装 Composer 并在您的应用程序中安装 运行 composer install
或 composer update
才能安装 composer.json
.
当您安装 Laravel 应用程序时,它不会立即安装软件包。
您可以通过查看应用程序的供应商目录并检查 phpunit
是否在其中来验证软件包是否已安装。
我遇到了同样的问题,它有一个可能适用于其他人的特定解决方案。我将文件存储在 Dropbox 中,vendor/bin/phpunit 文件应该是这样的符号链接
$ ls -lo vendor/bin/phpunit
lrwxr-xr-x vendor/bin/phpunit -> ../phpunit/phpunit/phpunit
但是Dropbox偶尔会替换symlinks with the original file,这会导致上面的错误。行为不一致,并且当两台机器同时访问 Dropbox 时,相对符号链接似乎会中断。修复符号链接对我有用,或者你可以直接创建一个新的符号链接到 Dropbox 之外的 vendor/phpunit/phpunit/phpunit
和 运行 那。
编辑:现在我从 Dropbox 中排除 Vendor 和 node_modules - 并且在必要时简单地 运行 composer install
。这非常有效,而且还解决了在 Dropbox 上同步这么多文件的麻烦。您可以做的是进入文件夹并删除所有文件。等待 Dropbox 同步。然后将该文件夹标记为已排除。最后,运行 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
请试试这个。它工作正常。
运行 composer install
在我的案例中什么也没做。但是,删除供应商文件夹然后调用 composer install
修复它。