Testing¶
Before making a PR, please run the test suite locally and make sure everything passes.
We have automatic tests on Travis CI, but they take a long time to run and sometimes randomly time out, so it will be much more efficient if you can test locally first.
Running the full test suite¶
To run the full test suite, run the following command from the root of the repository:
invoke tests
Running selective groups of tests¶
To run only the tests for the Python code, run:
invoke tests --group=python
To run only the JavaScript tests (e.g. for the notebook extension and the formgrader), run:
invoke tests --group=js
Note that if you are using Python 3, some of the JavaScript tests will expect
that JupyterHub is installed.
If you don’t want or need to run the JupyterHub tests, you can run the invoke
command with --skip=jupyterhub
.
Using py.test to run a single test module¶
If you want to choose an even more specific subset of tests, you should invoke
py.test
directly. For example, to run only the tests for
nbgrader assign
:
py.test nbgrader/tests/apps/test_nbgrader_assign.py