簡體   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