diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 4146f71a9..235c823e9 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -49,6 +49,7 @@ ``--failed-first`` respectively. Thanks `@MichaelAquilina`_ for the PR. +* Added expected exceptions to pytest.raises fail message **Bug Fixes** diff --git a/_pytest/python.py b/_pytest/python.py index 065971be6..d5612a584 100644 --- a/_pytest/python.py +++ b/_pytest/python.py @@ -1311,7 +1311,7 @@ def raises(expected_exception, *args, **kwargs): func(*args[1:], **kwargs) except expected_exception: return _pytest._code.ExceptionInfo() - pytest.fail("DID NOT RAISE") + pytest.fail("DID NOT RAISE {0}".format(expected_exception)) class RaisesContext(object): def __init__(self, expected_exception): @@ -1770,7 +1770,6 @@ class FixtureLookupError(LookupError): # the last fixture raise an error, let's present # it at the requesting side stack = stack[:-1] - for function in stack: fspath, lineno = getfslineno(function) try: diff --git a/testing/python/raises.py b/testing/python/raises.py index 0370f982b..0ea7f9bee 100644 --- a/testing/python/raises.py +++ b/testing/python/raises.py @@ -70,3 +70,9 @@ class TestRaises: def test_tuple(self): with pytest.raises((KeyError, ValueError)): raise KeyError('oops') + + def test_no_raise_message(self): + try: + pytest.raises(ValueError, int, '0') + except pytest.raises.Exception as e: + assert e.msg == "DID NOT RAISE {0}".format(repr(ValueError))