57

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

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

4

6 回答 6

77

如果您遵循文档,则已将phpunit/phpunit依赖项设置为“开发依赖项”。

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

$ php composer.phar self-update

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

$ php composer.phar update --dev

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

$ vendor/bin/phpunit -c app/

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

更新 (05-04-2013)

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

更新(2013 年 11 月 6 日)

Composer 再次更改了他们的命令,该install命令还将安装开发依赖项。

于 2012-12-07T14:20:36.220 回答
25

更多的作曲方式呢?

composer exec phpunit

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

于 2016-08-12T06:05:43.590 回答
16

更新(2014 年 12 月 2 日)

Composer 和 PHPUnit 再次更改了它们的命令。install 命令还将安装开发依赖项:

作曲家.json:

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

运行:

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

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

$ bin/phpunit -c /app

干杯,

于 2014-02-12T11:11:02.417 回答
12

我喜欢在 中定义一个脚本composer.json,这样我就可以运行:

$ composer test
# ... runs phpunit

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

"scripts": {
    "test": [
        "phpunit tests/*.php"
    ]
}
于 2017-08-04T14:39:21.023 回答
9

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

./vendor/bin/phpunit tests
于 2016-06-04T10:59:10.030 回答
5

将其添加为开发依赖项,在您的项目目录中:

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

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

./vendor/bin/phpunit
于 2015-08-26T08:20:11.457 回答