Files
archived-symfony-docs/contributing/code/tests.rst
Oskar Stark 70ae196be4 Merge branch '6.4' into 7.3
* 6.4:
  Update DOCtor-RST to 1.77.0 and enable `no_relative_doc_path` rule
2025-12-10 15:42:23 +01:00

72 lines
2.1 KiB
ReStructuredText

.. _running-symfony2-tests:
Running Symfony Tests
=====================
The Symfony project uses a CI (Continuous Integration) service which automatically runs tests
for any submitted :doc:`patch </contributing/code/pull_requests>`. 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 </contributing/code/pull_requests>` 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.2.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/