Running Symfony Tests
Edit this pageWarning: You are browsing the documentation for Symfony 2.6, which is no longer maintained.
Read the updated version of this page for Symfony 6.0 (the current stable version).
Running Symfony Tests
Before submitting a patch for inclusion, you need to run the Symfony test suite to check that you have not broken anything.
PHPUnit
To run the Symfony test suite, install PHPUnit 4.2 (or later) first.
Dependencies (optional)
To run the entire test suite, including tests that depend on external
dependencies, Symfony needs to be able to autoload them. By default, they are
autoloaded from vendor/
under the main root directory (see
autoload.php.dist
).
The test suite needs the following third-party libraries:
- Doctrine
- Swift Mailer
- Twig
- Monolog
To install them all, use Composer:
Step 1: Install Composer globally
Step 2: Install vendors.
1
$ composer install
Note
Note that the script takes some time to finish.
After installation, you can update the vendors to their latest version with the follow command:
1
$ composer update
Running
First, update the vendors (see above).
Then, run the test suite from the Symfony root directory with the following command:
1
$ phpunit
The output should display OK
. If not, you need to figure out what's going on
and if the tests are broken because of your modifications.
Tip
If you want to test a single component type its path after the phpunit
command, e.g.:
1
$ phpunit src/Symfony/Component/Finder/
Tip
Run the test suite before applying your modifications to check that they run fine on your configuration.
Code Coverage
If you add a new feature, you also need to check the code coverage by using
the coverage-html
option:
1
$ phpunit --coverage-html=cov/
Check the code coverage by opening the generated cov/index.html
page in a
browser.
Tip
The code coverage only works if you have Xdebug enabled and all dependencies installed.