##// END OF EJS Templates
ssh: use proper way of extracting the HOOK_PROTOCOL out of vcssettings....
ssh: use proper way of extracting the HOOK_PROTOCOL out of vcssettings. - it might be not stored inside the .ini file so we should use the config that has proper defaults, and it's used in many other places.

File last commit:

r739:3f65f91e default
r2212:dc0a58ba default
Show More
unit-and-functional.rst
66 lines | 1.7 KiB | text/x-rst | RstLexer

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:

  • :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.

    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 RhodeCode Enterprise itself and it takes care of setting up the needed parts of the Pyramid framework.

  • :file:`conftest.py` plugins are used to provide a special integration for certain groups of tests based on the directory location.

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.

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.