Update "TESTS.md" to show that there is a version of "pytest" for both Python2 and Python3 (#506)
* Update TESTS.md Provides information on the different types of "pytest" available, as well as switched "py.test" to "pytest", as recommended here (https://github.com/pytest-dev/pytest/issues/1629#issue-161422224). * Fixed a typo. * Small edit. * Update TESTS.md Cleaned it up, addressed what user "N-Parsons" commented on, fixed some errors, and added new information. * Small Change to "PDB" Section.
This commit is contained in:
committed by
Nathan Parsons
parent
b3ba31de05
commit
6b7c4444a7
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user