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.
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.
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.
UPDATE (12-02-2014)
Composer and PHPUnit have changed their commands again. The install command will also install dev dependencies:
Composer.json:
...
"require-dev": {
"phpunit/phpunit": "3.7.*"
},
Run it:
$ composer.phar update --prefer-dist --dev
Now you can run your tests by:
$ bin/phpunit -c /app
Cheers,
I like to define a script within composer.json
, so that I can just run:
$ composer test
# ... runs phpunit
To do so, I need to modify composer.json
to contain an entry like this:
"scripts": {
"test": [
"phpunit tests/*.php"
]
}
For Symfony 3 add "phpunit/phpunit": "5.4.*"
to the "require-dev"
section in your composer.json
and run tests from the applications root directory with:
./vendor/bin/phpunit tests
Add it as dev dependency, in your project directory:
composer require --dev "phpunit/phpunit=4.8.*"
The installed phpunit can now be executed with:
./vendor/bin/phpunit
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With