如何使用从composer安装的phpunit?

Tjo*_*rie 55 phpunit symfony composer-php

我想用phpunit开始单元测试我的symfony 2应用程序.我使用composer安装了phpunit(每个项目的依赖性). http://www.phpunit.de/manual/current/en/installation.html

我现在如何在Zend Server上运行phpunit命令?我没有安装梨.

Wou*_*r J 74

如果您按照文档进行操作,则将phpunit/phpunit依赖项设置为"dev-dependency".

如果您没有composer,则需要先安装它.这在文档中进行了解释:Installation*nixInstallation Windows.如果您已经安装了composer,最好通过运行以下self-update命令将composer更新到最新版本:

$ php composer.phar self-update
Run Code Online (Sandbox Code Playgroud)

完成后,您需要安装所有依赖项,包括dev依赖项.这是通过update使用--dev开关运行命令来完成的:

$ php composer.phar update --dev
Run Code Online (Sandbox Code Playgroud)

所有依赖项都安装在vendor目录中.PHPunit从控制台运行.Composer自动将控制台文件放在vendor/bin目录中.你需要phpunit在那里执行文件:

$ vendor/bin/phpunit -c app/
Run Code Online (Sandbox Code Playgroud)

-c开关告诉PHPUnit来寻找在配置文件app目录,Symfony2中已经设置了正确的配置来运行在所有的测试<bundle>/Tests目录.

更新(05-04-2013)

Composer已更改其更新/安装命令.update默认情况下将安装dev依赖项,如果要安装dev依赖项,则需要使用该--dev选项.

更新(11-06-2013)

Composer再次更改了命令,该install命令还将安装dev依赖项.


Sta*_*lex 23

更多的作曲家方式呢?

composer exec phpunit
Run Code Online (Sandbox Code Playgroud)

它可用于vendor/bin目录中的每个二进制文件.

  • 处理错误代码为2的__exec_command事件的脚本phpunit (3认同)

med*_*ina 16

更新(12-02-2014)

Composer和PHPUnit再次更改了命令.install命令还将安装dev依赖项:

Composer.json:

...
"require-dev": {
    "phpunit/phpunit": "3.7.*"
},
Run Code Online (Sandbox Code Playgroud)

运行:

$ composer.phar update --prefer-dist --dev
Run Code Online (Sandbox Code Playgroud)

现在您可以通过以下方式运行测试:

$ bin/phpunit -c /app
Run Code Online (Sandbox Code Playgroud)

干杯,


Fli*_*imm 11

我想在其中定义一个脚本composer.json,以便我可以运行:

$ composer test
# ... runs phpunit
Run Code Online (Sandbox Code Playgroud)

为此,我需要修改composer.json以包含这样的条目:

"scripts": {
    "test": [
        "phpunit tests/*.php"
    ]
}
Run Code Online (Sandbox Code Playgroud)


And*_*dré 8

对于Symfony 3,添加"phpunit/phpunit": "5.4.*""require-dev"您的部分composer.json并从应用程序根目录运行测试:

./vendor/bin/phpunit tests
Run Code Online (Sandbox Code Playgroud)


Ale*_*lex 5

在项目目录中将其添加为dev依赖项:

composer require --dev "phpunit/phpunit=4.8.*"
Run Code Online (Sandbox Code Playgroud)

现在可以使用以下命令执行已安装的phpunit:

./vendor/bin/phpunit
Run Code Online (Sandbox Code Playgroud)

  • 您现在可以使用版本:`5.3。*`。 (2认同)