71 lines
2.0 KiB
Plaintext
71 lines
2.0 KiB
Plaintext
|
|
pytest_iocapture plugin
|
|
=======================
|
|
|
|
convenient capturing of writes to stdout/stderror streams and file descriptors.
|
|
|
|
.. contents::
|
|
:local:
|
|
|
|
Example Usage
|
|
----------------------
|
|
|
|
You can use the `capsys funcarg`_ to capture writes
|
|
to stdout and stderr streams by using it in a test
|
|
likes this:
|
|
|
|
.. sourcecode:: python
|
|
|
|
def test_myoutput(capsys):
|
|
print "hello"
|
|
print >>sys.stderr, "world"
|
|
out, err = capsys.reset()
|
|
assert out == "hello\n"
|
|
assert err == "world\n"
|
|
print "next"
|
|
out, err = capsys.reset()
|
|
assert out == "next\n"
|
|
|
|
The ``reset()`` call returns a tuple and will restart
|
|
capturing so that you can successively check for output.
|
|
After the test function finishes the original streams
|
|
will be restored.
|
|
|
|
.. _`capsys funcarg`:
|
|
|
|
|
|
the 'capsys' test function argument
|
|
-----------------------------------
|
|
|
|
captures writes to sys.stdout/sys.stderr and makes
|
|
them available successively via a ``capsys.reset()`` method
|
|
which returns a ``(out, err)`` tuple of captured strings.
|
|
|
|
.. _`capfd funcarg`:
|
|
|
|
|
|
the 'capfd' test function argument
|
|
----------------------------------
|
|
|
|
captures writes to file descriptors 1 and 2 and makes
|
|
them available successively via a ``capsys.reset()`` method
|
|
which returns a ``(out, err)`` tuple of captured strings.
|
|
|
|
Start improving this plugin in 30 seconds
|
|
=========================================
|
|
|
|
|
|
Do you find the above documentation or the plugin itself lacking?
|
|
|
|
1. Download `pytest_iocapture.py`_ plugin source code
|
|
2. put it somewhere as ``pytest_iocapture.py`` into your import path
|
|
3. a subsequent ``py.test`` run will use your local version
|
|
|
|
Further information: extend_ documentation, other plugins_ or contact_.
|
|
|
|
.. _`pytest_iocapture.py`: http://bitbucket.org/hpk42/py-trunk/raw/85fe614ab05f301f206935d11a477df184cbbce6/py/test/plugin/pytest_iocapture.py
|
|
.. _`extend`: ../extend.html
|
|
.. _`plugins`: index.html
|
|
.. _`contact`: ../../contact.html
|
|
.. _`checkout the py.test development version`: ../../download.html#checkout
|