我最近安装了Laravel,并在/tests目录中编写了一些测试。但是,当我在与phpunit.xml
同一文件夹中使用cmd命令时,它会显示“'phpunit'不被认为是内部或外部命令、可运行程序或批处理文件。” 我正在使用Windows 7。我该怎么办?
我最近安装了Laravel,并在/tests目录中编写了一些测试。但是,当我在与phpunit.xml
同一文件夹中使用cmd命令时,它会显示“'phpunit'不被认为是内部或外部命令、可运行程序或批处理文件。” 我正在使用Windows 7。我该怎么办?
正如Unnawut所说,它无法工作是因为vendor/phpunit/phpunit/phpunit不是本地Windows可执行文件。您需要一个.bat或.cmd文件,其基本上将调用“php phpunit”。在vendor/bin中应该有一个文件,但为了使生活更轻松,请尝试创建一个名为phpunit.bat(或.cmd)的文件,放置在站点的根目录,其中包含以下内容:
@ECHO OFF
SET BIN_TARGET=%~dp0/vendor/phpunit/phpunit/phpunit
php "%BIN_TARGET%" %*
现在你可以在站点的根目录下从命令行调用phpunit。
如果您是Windows用户并且遇到此问题,请按照以下步骤操作:
首先,您需要告诉Windows在哪里找到PHPUnit命令,您可以首先验证此文件是否存在于Laravel项目的/vendor/bin目录下
最后,您需要将完整路径添加到Window PATH变量中
操作步骤如下: 1.右键单击“计算机”,然后单击属性
高级系统设置
环境变量
PATH
,然后通过追加设置PATH变量将完整路径添加到您的laravel-project/vendor/bin;
注意在末尾加上分号;
NB:其他变量可能已经存在于PATH中,因此请确保不要在最后追加自己的变量而覆盖它们
确定
alias phpunit="vendor/bin/phpunit"
全局安装 phpunit
:
composer global require phpunit/phpunit
接下来,您将能够运行phpunit
(即使在Windows上):
phpunit
我在命令行中添加了这个命令,而不仅仅是"phpunit"
vendor\bin\phpunit
那对我来说起作用了。
./vendor/bin
添加到 PATH 环境变量中。这样,您就可以从任何 Laravel 根目录直接调用 phpunit
。 - Arno van Oordtphpunit可执行文件不在您的项目根目录中,这就是它找不到它的原因。
现在我假设您已经在composer.json
文件中拥有phpunit,类似于以下内容:
"require-dev": {
"phpunit/phpunit": "3.7.*"
}
当通过Composer安装时,此软件包将被安装到vendor/vendor_name/package_name
。因此,要在您的项目根目录中运行它,请键入以下命令:
vendor/phpunit/phpunit/phpunit
composer update
命令,然后在包含 phpunit.xml
文件的文件夹中执行 vendor/phpunit/phpunit/phpunit
命令。 - Unnawut这对我有用
在控制台窗口中,用双引号括起来执行以下命令:
"vendor/bin/phpunit"
phpunit
命令?之前可以正常工作吗? - Rahil Wazirecho %PATH%
并查看输出是否包含phpunit
。 - Rahil Wazir