Adding does_not_raise to documentation only

This commit is contained in:
Arel Cordero
2019-01-27 16:10:11 +00:00
parent 977adf1354
commit fd4289dae0
6 changed files with 29 additions and 54 deletions

View File

@@ -4,7 +4,6 @@ import math
import pprint
import sys
import warnings
from contextlib import contextmanager
from decimal import Decimal
from numbers import Number
@@ -735,37 +734,3 @@ class RaisesContext(object):
if self.match_expr is not None and suppress_exception:
self.excinfo.match(self.match_expr)
return suppress_exception
# builtin pytest.does_not_raise helper
@contextmanager
def does_not_raise():
r'''
This context manager is a complement to ``pytest.raises()`` that does
*not* catch any exceptions raised by the code block.
This is essentially a *no-op* but is useful when
conditionally parametrizing tests that may or may not
raise an error. For example::
@pytest.mark.parametrize('example_input,expectation', [
(3, does_not_raise()),
(2, does_not_raise()),
(1, does_not_raise()),
(0, raises(ZeroDivisionError)),
])
def test_division(example_input, expectation):
"""Test how much I know division."""
with expectation as excinfo:
assert (6 / example_input) is not None
Note that `excinfo` will be *None* when using
``does_not_raise``. In the example above, `execinfo`
will be `None` for the first three runs and
an :class:`ExceptionInfo` instance on last run.
'''
yield