# Tests Conventions

To ensure code stability, developers are required to write tests for contributed modules, according to these guidelines:

- Tests are written using pytest
- All test functions must have docstrings
- Tests modules should be placed in the ./tests directory

## Test Types

- Regression tests – check that claimed model/pipeline end-to-end functionality is preserved after changes. Test sub-components where appropriate.
- Util tests – test functionality of utility modules.
- Framework tests – test http service input/output

## Running Tests

Before creating a pull request, ensure that your test pass. To a test module, issue the following command:

    py.test tests/test_module.py