diff --git a/docs/TESTS.md b/docs/TESTS.md index 53ea9ddf..697282a1 100644 --- a/docs/TESTS.md +++ b/docs/TESTS.md @@ -4,14 +4,38 @@ We recommend you install [pytest](http://pytest.org/latest/) and [pytest-cache](http://pythonhosted.org/pytest-cache/). `pytest` is a testing tool that will give you more flexibility over running your unit tests. +If you want to install `pytest` for Python 2, then use `pip`. + ```bash pip install pytest pytest-cache ``` +If you instead want the version of `pytest` for Python 3, then use `pip3`. + +```bash +pip3 install pytest pytest-cache +``` If you get a `command not found` response from your system, you can find a tutorial on how to install `pip` [here](https://pip.pypa.io/en/stable/installing/). +**Note:** Whichever version of `pytest` you install last will be the default one used whenever `pytest` is executed, regardless of whether you have installed both versions. + +If you want to check what the default version of `pytest` being used is, run the following: + +```bash +pytest --version +``` + +If you have either version of `pytest` installed and you want to specifically run one of the versions, you can run that version by using `python` with the `-m` flag. + +For example, you could run the Python 3 version of pytest like so: + +```bash +$ python3 -m pytest --version +This is pytest version 3.2.3, imported from /usr/local/lib/python3.5/dist-packages/pytest.py +``` + If you choose not to install `pytest`, you can still run tests individually and skip the rest of this tutorial: @@ -29,7 +53,7 @@ an example here), place yourself in the directory where that exercise has been fetched and run: ```bash -py.test bob_test.py +pytest bob_test.py ``` **Note:** To run the tests you need to pass the name of the testsuite file to @@ -56,7 +80,7 @@ The above will run all the tests, whether they fail or not. If you'd rather stop the process and exit on the first failure, run: ```bash -py.test -x bob_test.py +pytest -x bob_test.py ``` ### Failed Tests First @@ -64,14 +88,14 @@ py.test -x bob_test.py `pytest-cache` remembers which tests failed, and can run those tests first. ```bash -py.test --ff bob_test.py +pytest --ff bob_test.py ``` ### Running All Tests for All Exercises ```bash cd exercism/python/ -py.test +pytest ``` ## Recommended Workflow @@ -80,7 +104,7 @@ We recommend you run this command while working on exercises. ```bash cd exercism/python/bob -py.test -x --ff bob_test.py +pytest -x --ff bob_test.py ``` ## PDB @@ -89,28 +113,28 @@ Will drop you into the python debugger when a test fails. To learn how to use pdb, check out the [documentation](https://docs.python.org/3/library/pdb.html#debugger-commands). -You may also be interested in watching [Clayton Parker's "So you think you can -pdb?" PyCon 2015 talk](https://www.youtube.com/watch?v=P0pIW5tJrRM) - ```bash -py.test --pdb bob_test.py +pytest --pdb bob_test.py ``` +You may also be interested in watching [Clayton Parker's "So you think you can +pdb?" PyCon 2015 talk](https://www.youtube.com/watch?v=P0pIW5tJrRM). + ## PEP8 PEP8 is the [Style Guide for Python Code](https://www.python.org/dev/peps/pep-0008/). If you would like to test for compliance to the style guide, install -[pytest-pep8](https://pypi.python.org/pypi/pytest-pep8) +[pytest-pep8](https://pypi.python.org/pypi/pytest-pep8). ```bash pip install pytest-pep8 ``` -and add the pep8 flag to your command +Then, just add the `--pep8` flag to your command ```bash -py.test --pep8 bob_test.py +pytest --pep8 bob_test.py ``` Read the [pytest documentation](http://pytest.org/latest/contents.html#toc) and