Add pytest and tox to run tests
This commit is contained in:
parent
1529ed2086
commit
2eaa8a4a1b
8 changed files with 98 additions and 5 deletions
42
README.md
42
README.md
|
@ -175,7 +175,47 @@ TEST=true python -m test.test_api_usage -f
|
|||
# To run a specific test in a suite
|
||||
TEST=true python -m test.test_api_usage -f SuiteName
|
||||
```
|
||||
#### Pytest
|
||||
|
||||
```
|
||||
# To run all tests
|
||||
TEST=true PYTHONPATH="." py.test --verbose test/
|
||||
|
||||
# To run a specific test module
|
||||
TEST=true PYTHONPATH="." py.test --verbose test/registry_tests.py
|
||||
|
||||
# To run a specific test unique test
|
||||
TEST=true PYTHONPATH="." py.test --verbose test/test_api_usage.py::TestDeleteNamespace
|
||||
|
||||
# To retry only last failed (--lf):
|
||||
TEST=true PYTHONPATH="." py.test --verbose --lf
|
||||
|
||||
# To start pdb on failure:
|
||||
TEST=true PYTHONPATH="." py.test --verbose --pdb
|
||||
|
||||
# To run a coverage report (html pages in ./htmlcov):
|
||||
TEST=true PYTHONPATH="." py.test --cov="." --cov-report=html --cov-report=term-missing --cov-config=.coverage.ini --verbose
|
||||
|
||||
# Don't capture stdout (-s)
|
||||
TEST=true PYTHONPATH="." py.test --verbose -s
|
||||
|
||||
```
|
||||
|
||||
#### Tox
|
||||
To create a virtualenv to run the tests.
|
||||
It allows to test the code on multiple env like python2.x and python3.x or different library versions
|
||||
|
||||
```
|
||||
# Test all tox env:
|
||||
tox
|
||||
|
||||
# Add extra parameters to the pytest command:
|
||||
# tox -- [pytest ARGS]
|
||||
tox -- -x
|
||||
|
||||
# build a single env with -e:
|
||||
tox -e py27-api
|
||||
```
|
||||
|
||||
### Running migrations
|
||||
|
||||
|
@ -193,7 +233,7 @@ TEST=true python -m test.test_api_usage -f SuiteName
|
|||
PYTHONPATH=. alembic upgrade head
|
||||
|
||||
# You can also rebuild your local sqlite db image from initdb.py using
|
||||
# And once you have a migration you should do this and check in the
|
||||
# And once you have a migration you should do this and check in the
|
||||
# changes to share your migration with others.
|
||||
rm test/data/test.db
|
||||
python initdb.py
|
||||
|
|
Reference in a new issue