Symfony 如何使用从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

我想用phpunit开始单元测试我的symfony 2应用程序。我使用composer安装了phpunit(根据项目依赖性)。


现在如何在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_命令事件