.. _running-symfony2-tests: Running Symfony Tests ===================== The Symfony project uses a CI (Continuous Integration) service which automatically runs tests for any submitted :doc:`patch `. If the new code breaks any test, the pull request will show an error message with a link to the full error details. In any case, it's a good practice to run tests locally before submitting a :doc:`patch ` for inclusion, to check that you have not broken anything. .. _phpunit: .. _dependencies_optional: Before Running the Tests ------------------------ To run the Symfony test suite, install the external dependencies used during the tests, such as Doctrine, Twig and Monolog. To do so, `install Composer`_ and execute the following: .. code-block:: terminal $ composer update .. tip:: Dependencies might fail to update and in this case Composer might need you to tell it what Symfony version you are working on. To do so set ``COMPOSER_ROOT_VERSION`` variable, e.g.: .. code-block:: terminal $ COMPOSER_ROOT_VERSION=7.1.x-dev composer update .. _running: Running the Tests ----------------- Then, run the test suite from the Symfony root directory with the following command: .. code-block:: terminal $ php ./phpunit symfony The output should display ``OK``. If not, read the reported errors to figure out what's going on and if the tests are broken because of the new code. .. tip:: The entire Symfony suite can take up to several minutes to complete. If you want to test a single component, type its path after the ``phpunit`` command, e.g.: .. code-block:: terminal $ php ./phpunit src/Symfony/Component/Finder/ .. tip:: On Windows, install the `Cmder`_, `ConEmu`_, `ANSICON`_ or `Mintty`_ free applications to see colored test results. .. _`install Composer`: https://getcomposer.org/download/ .. _Cmder: https://cmder.app/ .. _ConEmu: https://conemu.github.io/ .. _ANSICON: https://github.com/adoxa/ansicon/releases .. _Mintty: https://mintty.github.io/