Add recwarn and tmpdir fixtures to the reference docs
This commit is contained in:
parent
f1df6c5a60
commit
f7178654e5
|
@ -16,10 +16,7 @@ from _pytest.outcomes import fail
|
|||
|
||||
@yield_fixture
|
||||
def recwarn():
|
||||
"""Return a WarningsRecorder instance that provides these methods:
|
||||
|
||||
* ``pop(category=None)``: return last warning matching the category.
|
||||
* ``clear()``: clear list of warnings
|
||||
"""Return a :class:`WarningsRecorder` instance that records all warnings emitted by test functions.
|
||||
|
||||
See http://docs.python.org/library/warnings.html for information
|
||||
on warning categories.
|
||||
|
@ -88,11 +85,11 @@ class _DeprecatedCallContext(object):
|
|||
def warns(expected_warning, *args, **kwargs):
|
||||
"""Assert that code raises a particular class of warning.
|
||||
|
||||
Specifically, the input @expected_warning can be a warning class or
|
||||
tuple of warning classes, and the code must return that warning
|
||||
(if a single class) or one of those warnings (if a tuple).
|
||||
Specifically, the parameter ``expected_warning`` can be a warning class or
|
||||
sequence of warning classes, and the inside the ``with`` block must issue a warning of that class or
|
||||
classes.
|
||||
|
||||
This helper produces a list of ``warnings.WarningMessage`` objects,
|
||||
This helper produces a list of :class:`warnings.WarningMessage` objects,
|
||||
one for each warning raised.
|
||||
|
||||
This function can be used as a context manager, or any of the other ways
|
||||
|
|
|
@ -116,6 +116,8 @@ def tmpdir(request, tmpdir_factory):
|
|||
created as a sub directory of the base temporary
|
||||
directory. The returned object is a `py.path.local`_
|
||||
path object.
|
||||
|
||||
.. _`py.path.local`: https://py.readthedocs.io/en/latest/path.html
|
||||
"""
|
||||
name = request.node.name
|
||||
name = re.sub(r"[\W]", "_", name)
|
||||
|
|
|
@ -9,8 +9,8 @@ This page contains the full reference to pytest's API.
|
|||
:local:
|
||||
|
||||
|
||||
approx
|
||||
------
|
||||
pytest.approx
|
||||
-------------
|
||||
|
||||
.. autofunction:: _pytest.python_api.approx
|
||||
|
||||
|
@ -67,6 +67,15 @@ pytest.deprecated_call
|
|||
.. autofunction:: _pytest.recwarn.deprecated_call
|
||||
:with:
|
||||
|
||||
pytest.warns
|
||||
------------
|
||||
|
||||
**Tutorial**: :ref:`assertwarnings`
|
||||
|
||||
.. autofunction:: _pytest.recwarn.warns
|
||||
:with:
|
||||
|
||||
|
||||
.. _`hook-reference`:
|
||||
|
||||
Hooks
|
||||
|
@ -250,6 +259,10 @@ Full reference to objects accessible from :ref:`fixtures <fixture>` or hooks
|
|||
.. autoclass:: pluggy.PluginManager()
|
||||
:members:
|
||||
|
||||
.. autoclass:: pluggy.PluginManager()
|
||||
:members:
|
||||
|
||||
|
||||
|
||||
Fixtures
|
||||
--------
|
||||
|
@ -485,3 +498,52 @@ To use it, include in your top-most ``conftest.py`` file::
|
|||
|
||||
.. autoclass:: LineMatcher()
|
||||
:members:
|
||||
|
||||
|
||||
recwarn
|
||||
~~~~~~~
|
||||
|
||||
**Tutorial**: :ref:`assertwarnings`
|
||||
|
||||
.. currentmodule:: _pytest.recwarn
|
||||
|
||||
.. autofunction:: recwarn()
|
||||
:no-auto-options:
|
||||
|
||||
.. autoclass:: _pytest.recwarn.WarningsRecorder()
|
||||
:members:
|
||||
|
||||
Each recorded warning is an instance of :class:`warnings.WarningMessage`.
|
||||
|
||||
.. note::
|
||||
:class:`RecordedWarning` was changed from a plain class to a namedtuple in pytest 3.1
|
||||
|
||||
.. note::
|
||||
``DeprecationWarning`` and ``PendingDeprecationWarning`` are treated
|
||||
differently; see :ref:`ensuring_function_triggers`.
|
||||
|
||||
|
||||
tmpdir
|
||||
~~~~~~
|
||||
|
||||
**Tutorial**: :doc:`tmpdir`
|
||||
|
||||
.. currentmodule:: _pytest.tmpdir
|
||||
|
||||
.. autofunction:: tmpdir()
|
||||
:no-auto-options:
|
||||
|
||||
|
||||
tmpdir_factory
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
**Tutorial**: :ref:`tmpdir factory example`
|
||||
|
||||
.. _`tmpdir factory api`:
|
||||
|
||||
``tmpdir_factory`` instances have the following methods:
|
||||
|
||||
.. currentmodule:: _pytest.tmpdir
|
||||
|
||||
.. automethod:: TempdirFactory.mktemp
|
||||
.. automethod:: TempdirFactory.getbasetemp
|
||||
|
|
|
@ -51,6 +51,9 @@ Running this would result in a passed test except for the last
|
|||
test_tmpdir.py:7: AssertionError
|
||||
========================= 1 failed in 0.12 seconds =========================
|
||||
|
||||
|
||||
.. _`tmpdir factory example`:
|
||||
|
||||
The 'tmpdir_factory' fixture
|
||||
----------------------------
|
||||
|
||||
|
@ -81,12 +84,8 @@ to save time:
|
|||
img = load_image(image_file)
|
||||
# compute and test histogram
|
||||
|
||||
``tmpdir_factory`` instances have the following methods:
|
||||
See :ref:`tmpdir_factory API <tmpdir factory api>` for details.
|
||||
|
||||
.. currentmodule:: _pytest.tmpdir
|
||||
|
||||
.. automethod:: TempdirFactory.mktemp
|
||||
.. automethod:: TempdirFactory.getbasetemp
|
||||
|
||||
.. _`base temporary directory`:
|
||||
|
||||
|
|
|
@ -250,23 +250,11 @@ The ``recwarn`` fixture will record warnings for the whole function::
|
|||
Both ``recwarn`` and ``pytest.warns`` return the same interface for recorded
|
||||
warnings: a WarningsRecorder instance. To view the recorded warnings, you can
|
||||
iterate over this instance, call ``len`` on it to get the number of recorded
|
||||
warnings, or index into it to get a particular recorded warning. It also
|
||||
provides these methods:
|
||||
warnings, or index into it to get a particular recorded warning.
|
||||
|
||||
.. autoclass:: _pytest.recwarn.WarningsRecorder()
|
||||
:members:
|
||||
.. currentmodule:: _pytest.warnings
|
||||
|
||||
Each recorded warning has the attributes ``message``, ``category``,
|
||||
``filename``, ``lineno``, ``file``, and ``line``. The ``category`` is the
|
||||
class of the warning. The ``message`` is the warning itself; calling
|
||||
``str(message)`` will return the actual message of the warning.
|
||||
|
||||
.. note::
|
||||
:class:`RecordedWarning` was changed from a plain class to a namedtuple in pytest 3.1
|
||||
|
||||
.. note::
|
||||
``DeprecationWarning`` and ``PendingDeprecationWarning`` are treated
|
||||
differently; see :ref:`ensuring_function_triggers`.
|
||||
Full API: :class:`WarningsRecorder`.
|
||||
|
||||
.. _`ensuring a function triggers a deprecation warning`:
|
||||
|
||||
|
|
Loading…
Reference in New Issue