我正在尝试使用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 globaly并解决问题。但也许这将是一个重复,因为我已经在laravel应用程序中已经有了所有的phpunit代码。
答案 0 :(得分:9)
我遇到了同样的问题,它有一个特定的解决方案可能适用于其他人。我将我的文件存储在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
也经常解决其他问题)。
答案 1 :(得分:3)
您需要安装Composer并在应用程序中运行composer install
或composer update
,以安装composer.json
中列出的不同软件包。
安装Laravel应用程序时,它不会立即安装软件包。
您可以通过查看应用程序的供应商目录来验证软件包是否已安装,并检查phpunit
是否在那里。
答案 2 :(得分:1)
你在全球安装了phpunit吗?我建议你这样做。
只需输入您的laravel的根目录(例如/ var / www)
decodeStream()
如果您只测试一个文件,可以执行以下操作:
Bitmap
答案 3 :(得分:0)
单元测试:
D:\xampp\htdocs\Samplemed\vendor\bin>
phpunit ../../tests/Unit/Company/CompanyUnitTest
功能测试:
D:\xampp\htdocs\Samplemed\vendor\bin>phpunit
../../tests/Feature/Company/CompanyFeatureTest
请尝试这个。工作正常。
答案 4 :(得分:0)
在我的情况下,运行composer install
并没有执行任何操作。但是,删除供应商文件夹然后调用composer install
可以解决该问题。