Symfony 如何使用从composer安装的phpunit?
我想用phpunit开始单元测试我的symfony 2应用程序。我使用composer安装了phpunit(根据项目依赖性)。Symfony 如何使用从composer安装的phpunit?,symfony,phpunit,composer-php,Symfony,Phpunit,Composer Php,我想用phpunit开始单元测试我的symfony 2应用程序。我使用composer安装了phpunit(根据项目依赖性)。 现在如何在Zend服务器上运行phpunit命令?我没有安装pear。如果您遵循文档,那么您已经将phpunit/phpunit依赖项设置为“开发人员依赖项” 如果您没有composer,则需要先安装它。文档中对此进行了解释:或。 如果您已经安装了composer,最好通过运行自我更新命令将composer更新到最新版本: $ php composer.phar se
现在如何在Zend服务器上运行phpunit命令?我没有安装pear。如果您遵循文档,那么您已经将
phpunit/phpunit
依赖项设置为“开发人员依赖项”
如果您没有composer,则需要先安装它。文档中对此进行了解释:或。
如果您已经安装了composer,最好通过运行自我更新
命令将composer更新到最新版本:
$ php composer.phar self-update
完成此操作后,需要安装所有依赖项,包括开发人员依赖项。这是通过使用--dev
开关运行update
命令来完成的:
$ php composer.phar update --dev
所有依赖项都安装在供应商
目录中。PHPunit从控制台运行。Composer自动将控制台文件放入供应商/bin
目录中。您需要在其中执行phpunit
文件:
$ vendor/bin/phpunit -c app/
-c
开关告诉PHPUnit在app
目录中查找配置文件,Symfony2已经设置了正确的配置以运行/tests
目录中的所有测试
更新(05-04-2013)
Composer已更改其更新/安装命令<代码>更新默认情况下将安装开发依赖项,如果要安装开发依赖项,则需要使用--dev
选项
更新(11-06-2013)
Composer再次更改了它们的命令,install
命令也将安装开发人员依赖项。更新(12-02-2014)
Composer和PHPUnit再次更改了它们的命令。
install命令还将安装开发人员依赖项:
Composer.json:
...
"require-dev": {
"phpunit/phpunit": "3.7.*"
},
运行它:
$ composer.phar update --prefer-dist --dev
现在,您可以通过以下方式运行测试:
$ bin/phpunit -c /app
干杯,将其作为开发人员依赖项添加到项目目录中:
composer require --dev "phpunit/phpunit=4.8.*"
已安装的phpunit现在可以通过以下方式执行:
./vendor/bin/phpunit
对于Symfony 3,在composer.json
中的“require dev”
部分添加“phpunit/phpunit”:“5.4.*”
,并从应用程序根目录运行测试:
./vendor/bin/phpunit tests
更多作曲家的方式如何
composer exec phpunit
它可以用于vendor/bin目录中的每个二进制文件。我喜欢在
composer.json
中定义一个脚本,这样我就可以运行:
$ composer test
# ... runs phpunit
为此,我需要修改composer.json
以包含如下条目:
"scripts": {
"test": [
"phpunit tests/*.php"
]
}
啊哈!错过了--dev:p无论如何,我现在得到了以下错误:
警告:include(C:\Program Files(x86)\Zend\Apache2\Program Files(x86)\Zend\Ap ache2\htdocs\project1\vendor\phpunit\phpunit\TextUI\Command.php):打开流失败:C:\Program Files(x86)中没有这样的文件或目录\Zend\Apache 2\htdocs\project1\vendor\composer\ClassLoader.php,位于第150行。
但该文件确实存在。我在这里继续了我的错误:@WouterJ您的意思是“update不会通过dafault安装开发依赖项”?@Danack否,update命令将通过dafault安装开发依赖项default@WouterJ呃,看起来我需要再次运行composer自更新。您现在可以改用版本:5.3.*
。谢谢,修复了此问题。:)当然,如果您使用的是传统项目布局,那么该命令将类似于./vendor/bin/phpunit src/AppBundle/TestsScript phpunit处理返回错误代码为2的_exec_命令事件