diff --git a/docs/development.rst b/docs/development.rst index 28ca2a156d90f9b38664e09a5e62648ea2c75ae7..ef4d2455c2d08b18bee1d8dd6eeca9766611b62b 100644 --- a/docs/development.rst +++ b/docs/development.rst @@ -67,9 +67,6 @@ Testing Project includes both unit tests (within ``tests/`` directory) , and functional tests (within ``functional_tests/`` directory). -Running the tests will also generate coverage report in HTML format, -stored within directory ``coverage/``. - Tests can be run in a number of different ways, depending on what you want to test and how. @@ -83,21 +80,47 @@ repository root:: pytest +Tests can be also run with coverage checks. By default coverage is +configured to report to standard output. Report will only list files +which lack coverage. For each file a percentage will be shown, as well +as line numbers that were not covered by tests. To include coverage +checks, run tests with:: + + pytest --cov + +.. warning:: + Gimmecert project has 100% coverage requirement. Anything below + will trigger failures when coverage checks are run. + +Should you desire to generate coverage report in HTML format, run +(coverage report will be put into directory ``coverage/``):: + + pytest --cov --cov-report=html:coverage/ + Functional tests must be run explicitly (since they tend to take more time), with:: pytest functional_tests/ -Linting checks are performed as part of testing. Linting checks can -easily be run with command:: +In addition to proper linting, implemented code should be pruned of +unused imports and variables. Linting should be conformant to PEP8, +with the exception of line length, which is allowed to be up to 160 +characters. Linting and code sanity checks are not executed +automatically, but can easily be run with:: flake8 +Documentation should be buildable at all times. Documentation build +can be triggered with a simple:: + + cd docs/ + make html + Tests can also be run using `tox `_: .. note:: - When running tests via ``tox``, functional tests are included as - well. + When running tests via ``tox``, functional tests and coverage + checks are included as well. ::