![](/img/trans.png)
[英]PHPUnit error - Can't run Laravel tests from Command line using MAMP Server
[英]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 install
或composer 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.