Skip to content

Commit d7d4e0b

Browse files
committed
bpo-41403: Improve error message for invalid mock target
1 parent 76dc047 commit d7d4e0b

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

Lib/unittest/mock.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1589,7 +1589,7 @@ def stop(self):
15891589
def _get_target(target):
15901590
try:
15911591
target, attribute = target.rsplit('.', 1)
1592-
except (TypeError, ValueError):
1592+
except (TypeError, ValueError, AttributeError):
15931593
raise TypeError("Need a valid target to patch. You supplied: %r" %
15941594
(target,))
15951595
return partial(pkgutil.resolve_name, target), attribute

Lib/unittest/test/testmock/testpatch.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1933,8 +1933,13 @@ def test(mock):
19331933

19341934

19351935
def test_invalid_target(self):
1936-
with self.assertRaises(TypeError):
1937-
patch('')
1936+
class Foo:
1937+
pass
1938+
1939+
for target in ['', 12, Foo()]:
1940+
with self.subTest(target=target):
1941+
with self.assertRaises(TypeError):
1942+
patch(target)
19381943

19391944

19401945
def test_cant_set_kwargs_when_passing_a_mock(self):

0 commit comments

Comments
 (0)