Remove "matching '...'" part from the pytest.raises message
When a test with pytest.raises(ValueError, match='foo') doesn't raise, the following error is printed: Failed: DID NOT RAISE <class 'ValueError'> matching 'foo' This error message is confusing as it implies a ValueError was raised, but the message wasn't matching 'foo'. I first considered rewording it somehow to preserve the match pattern in it, but I don't think that's worthwhile as the pattern should usually be apparent from the stacktrace anyways (hard-coded, as parametrization, or with --showlocals for more sophisticated cases).
This commit is contained in:
parent
e7bcc854d9
commit
9849022eb2
|
@ -571,7 +571,6 @@ def raises(expected_exception, *args, **kwargs):
|
|||
message = kwargs.pop("message")
|
||||
if "match" in kwargs:
|
||||
match_expr = kwargs.pop("match")
|
||||
message += " matching '{0}'".format(match_expr)
|
||||
return RaisesContext(expected_exception, message, match_expr)
|
||||
elif isinstance(args[0], str):
|
||||
code, = args
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
The "matching '...'" part got removed from ``pytest.raises()`` error messages as it falsely implies that an exception was raised but it didn't match.
|
Loading…
Reference in New Issue