unit-and-functional.rst
66 lines
| 1.7 KiB
| text/x-rst
|
RstLexer
r1 | ||||
.. _test-unit-and-functional: | ||||
=========================== | ||||
Unit and Functional Tests | ||||
=========================== | ||||
py.test based test suite | ||||
======================== | ||||
The test suite is in the folder :file:`rhodecode/tests/` and should be run with | ||||
the test runner `py.test` inside of your `nix-shell` environment:: | ||||
py.test rhodecode | ||||
py.test integration | ||||
------------------- | ||||
The integration with the test runner is based on the following three parts: | ||||
r739 | - :file:`rhodecode/tests/pylons_plugin.py` is a py.test plugin which does the | |||
integration with the Pylons web framework. It sets up the Pylons environment | ||||
based on the given ini file. | ||||
r1 | ||||
Tests which depend on the Pylons environment to be set up must request the | ||||
fixture `pylonsapp`. | ||||
- :file:`rhodecode/tests/plugin.py` contains the integration of py.test with | ||||
r739 | RhodeCode Enterprise itself and it takes care of setting up the needed parts | |||
of the Pyramid framework. | ||||
r1 | ||||
- :file:`conftest.py` plugins are used to provide a special integration for | ||||
certain groups of tests based on the directory location. | ||||
r739 | .. note:: | |||
We are migrating from Pylons to its successor Pyramid. Eventually the role of | ||||
the file `pylons_plugin.py` will change to provide only a Pyramid | ||||
integration. | ||||
r1 | ||||
VCS backend selection | ||||
--------------------- | ||||
The py.test integration provides a parameter `--backends`. It will skip all | ||||
tests which are marked for other backends. | ||||
To run only Subversion tests:: | ||||
py.test rhodecode --backends=svn | ||||
Frontend / Styling support | ||||
========================== | ||||
All relevant style components have an example inside of the "Style" section | ||||
within the application. Enable the setting `debug_style` to make this section | ||||
visible in your local instance of the application. | ||||