我想开始用phpunit对我的symfony 2应用程序进行单元测试。我使用composer安装了phpunit(取决于每个项目)。http://www.phpunit.de/manual/current/en/installation.html
现在如何在ZendServer上运行phpunit命令?我没有安装梨。
如果您遵循了文档,那么您已经将phpunit/phpunit
依赖项设置为"dev依赖项"。
如果您没有composer,则需要先安装它。文档中对此进行了解释:Installation*nix或Installation Windows。如果您已经安装了composer,那么最好运行self-update
命令将composer更新到最新版本:
$ php composer.phar self-update
完成后,您需要安装所有依赖项,包括dev依赖项。这是通过使用--dev
开关运行update
命令来完成的:
$ 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年6月11日)
Composer再次更改了他们的命令,install
命令也将安装dev依赖项。
更多的composer方式呢?
composer exec phpunit
它可以用于vendor/bin目录中的每个二进制文件。
更新(2014年2月12日)
Composer和PHPUnit再次更改了它们的命令。install命令还将安装dev依赖项:
Composer.json:
...
"require-dev": {
"phpunit/phpunit": "3.7.*"
},
运行它:
$ composer.phar update --prefer-dist --dev
现在您可以通过以下方式运行测试:
$ bin/phpunit -c /app
干杯,
我喜欢在composer.json
中定义一个脚本,这样我就可以运行:
$ composer test
# ... runs phpunit
为此,我需要修改composer.json
以包含这样的条目:
"scripts": {
"test": [
"phpunit tests/*.php"
]
}
对于Symfony 3,将"phpunit/phpunit": "5.4.*"
添加到composer.json
中的"require-dev"
部分,并使用从应用程序根目录运行测试
./vendor/bin/phpunit tests
将其作为开发依赖项添加到您的项目目录中:
composer require --dev "phpunit/phpunit=4.8.*"
已安装的phpunit现在可以使用以下命令执行:
./vendor/bin/phpunit