如何使用从composer安装的phpunit?

时间:2012-12-07 13:45:06

标签: symfony phpunit composer-php

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

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

6 个答案:

答案 0 :(得分:72)

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

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

$ php composer.phar self-update

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

$ php composer.phar update --dev

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

$ vendor/bin/phpunit -c app/

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

更新(05-04-2013)

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

更新(11-06-2013)

Composer再次更改了命令,install命令也将安装dev依赖项。

答案 1 :(得分:23)

更多的作曲家方式呢?

composer exec phpunit

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

答案 2 :(得分:15)

更新(2014年12月12日)

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

Composer.json:

...
"require-dev": {
    "phpunit/phpunit": "3.7.*"
},

运行它:

$ composer.phar update --prefer-dist --dev

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

$ bin/phpunit -c /app

干杯,

答案 3 :(得分:9)

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

$ composer test
# ... runs phpunit

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

"scripts": {
    "test": [
        "phpunit tests/*.php"
    ]
}

答案 4 :(得分:6)

对于Symfony 3,将"phpunit/phpunit": "5.4.*"添加到"require-dev"中的composer.json部分,并使用以下命令从应用程序根目录运行测试:

./vendor/bin/phpunit tests

答案 5 :(得分:4)

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

composer require --dev "phpunit/phpunit=4.8.*"

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

./vendor/bin/phpunit