53 lines
1.3 KiB
Plaintext
53 lines
1.3 KiB
Plaintext
|
||
Doctest integration for modules and test files
|
||
=========================================================
|
||
|
||
By default all files matching the ``test*.txt`` pattern will
|
||
be run through the python standard ``doctest`` module. You
|
||
can change the pattern by issuing::
|
||
|
||
py.test --doctest-glob='*.rst'
|
||
|
||
on the command line. You can also trigger running of doctests
|
||
from docstrings in all python modules (including regular
|
||
python test modules)::
|
||
|
||
py.test --doctest-modules
|
||
|
||
You can make these changes permanent in your project by
|
||
putting them into a pytest.ini file like this::
|
||
|
||
# content of pytest.ini
|
||
[pytest]
|
||
addopts = --doctest-modules
|
||
|
||
If you then have a text file like this::
|
||
|
||
# content of example.rst
|
||
|
||
hello this is a doctest
|
||
>>> x = 3
|
||
>>> x
|
||
3
|
||
|
||
and another like this::
|
||
|
||
# content of mymodule.py
|
||
def something():
|
||
""" a doctest in a docstring
|
||
>>> something()
|
||
42
|
||
"""
|
||
return 42
|
||
|
||
then you can just invoke ``py.test`` without command line options::
|
||
|
||
$ py.test
|
||
=========================== test session starts ============================
|
||
platform darwin -- Python 2.7.1 -- pytest-2.2.1
|
||
collecting ... collected 1 items
|
||
|
||
mymodule.py .
|
||
|
||
========================= 1 passed in 0.05 seconds =========================
|
||
[?1034h |