py.test
is one of several third party testing libraries that are available for Python. It can be installed using [pip](<http://stackoverflow.com/documentation/python/1781/pip-pypi-package-manager#t=201607221328338568674>)
with
pip install pytest
Say we are testing an addition function in projectroot/module/code.py
:
# projectroot/module/code.py
def add(a, b):
return a + b
We create a test file in projectroot/tests/test_code.py
. The file must begin with test_
to be recognized as a testing file.
# projectroot/tests/test_code.py
from module import code
def test_add():
assert code.add(1, 2) == 3
From projectroot
we simply run py.test
:
# ensure we have the modules
$ touch tests/__init__.py
$ touch module/__init__.py
$ py.test
================================================== test session starts ===================================================
platform darwin -- Python 2.7.10, pytest-2.9.2, py-1.4.31, pluggy-0.3.1
rootdir: /projectroot, inifile:
collected 1 items
tests/test_code.py .
================================================ 1 passed in 0.01 seconds ================================================