How to use phpunit installed from composer?
I want to start unit testing my symfony 2 application with phpunit. I installed phpunit using composer (per-project dependancy). http://www.phpunit.de/manual/current/en/installation.html
How do I now run the phpunit command on Zend Server? I don't have pear installed.
If you followed the documentation, you have set the phpunit/phpunit
dependency as a 'dev-dependency'.
If you don't have composer, you need to install it first. This is explained in the documentation: Installation *nix or Installation Windows.
If you already installed composer, it is a good practise to update composer to the latest version by running the self-update
command:
$ php composer.phar self-update
After your have done that, you need to install all dependencies, including the dev dependencies. This is done by running the update
command with the --dev
switch:
$ php composer.phar update --dev
All the dependencies are installed in the vendor
directory. PHPunit runs from the console. Composer automatic put the console files inside the vendor/bin
directory. You need to execute the phpunit
file in there:
$ vendor/bin/phpunit -c app/
The -c
switch tells PHPUnit to look for the configuration file in the app
directory, Symfony2 already set up the correct configuration to run all tests that are in the <bundle>/Tests
directory.
UPDATE (05-04-2013)
Composer has changed their update/install commands. update
will install dev dependencies by default and if you want to install dev dependencies, you need to use the --dev
option.
UPDATE (11-06-2013)
Composer has changed their commands again, the install
command will also install dev dependencies.
What about more composer way?
composer exec phpunit
It can be used for every binary file in vendor/bin directory.