Testing
Writing Tests¶
Whenever additions or changes are made to the code base, tests should be added (or updated) to verify that the changes behave as expected.
Test cases for Synse Server can be found in the project's tests directory. Unit tests are found
within the unit subdirectory. Within tests/unit, the test directory mirrors that of the package
directory. Tests for a given file (e.g. synse_server/foo/bar.py) should have the same name, prefixed
with "test" (e.g. tests/unit/foo/test_bar.py).
Tests are written using the pytest framework. Test
dependencies are defined in the project's tox.ini configuration.
Running Tests¶
The test command is defined in the tox configuration
and can be run by invoking tox with the path to the directory containing the tests. For
convenience, a Makefile target can also be used.
# run tests directly via tox tox tests/unit # run tests via make make test
Test output will be displayed in the console. Test artifacts will also be generated, including an HTML test coverage report.