Skip to content

Commit 2efaf39

Browse files
Merge pull request #3349 from jeffreyrack/3348-unknown-argument
3348: raise error on unknown arguments to raises
2 parents ff3d13e + 7656581 commit 2efaf39

File tree

4 files changed

+11
-1
lines changed

4 files changed

+11
-1
lines changed

_pytest/python_api.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -597,6 +597,10 @@ def raises(expected_exception, *args, **kwargs):
597597
message = kwargs.pop("message")
598598
if "match" in kwargs:
599599
match_expr = kwargs.pop("match")
600+
if kwargs:
601+
msg = 'Unexpected keyword arguments passed to pytest.raises: '
602+
msg += ', '.join(kwargs.keys())
603+
raise TypeError(msg)
600604
return RaisesContext(expected_exception, message, match_expr)
601605
elif isinstance(args[0], str):
602606
code, = args

changelog/3348.bugfix.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
``pytest.raises`` now raises ``TypeError`` when receiving an unknown keyword argument.

testing/python/raises.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,11 @@ def test_noclass(self):
6161
with pytest.raises(TypeError):
6262
pytest.raises('wrong', lambda: None)
6363

64+
def test_invalid_arguments_to_raises(self):
65+
with pytest.raises(TypeError, match='unknown'):
66+
with pytest.raises(TypeError, unknown='bogus'):
67+
raise ValueError()
68+
6469
def test_tuple(self):
6570
with pytest.raises((KeyError, ValueError)):
6671
raise KeyError('oops')

testing/test_recwarn.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ def f():
113113
pass
114114

115115
msg = 'Did not produce DeprecationWarning or PendingDeprecationWarning'
116-
with pytest.raises(AssertionError, matches=msg):
116+
with pytest.raises(AssertionError, match=msg):
117117
if mode == 'call':
118118
pytest.deprecated_call(f)
119119
else:

0 commit comments

Comments
 (0)