unittest.mock test and coverage fixup (#130787)

* Mark functions that will never be called with # pragma: no cover

* Fix testpatch.PatchTest.test_exit_idempotent

.stop() and __exit__ have subtly different code paths, so to really test __exit__ idempotency, we need to call it specifically twice.
This commit is contained in:
Chris Withers 2025-03-03 11:44:59 +00:00 committed by GitHub
parent f693f84227
commit 04091c0833
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 3 additions and 3 deletions

View file

@ -1080,7 +1080,7 @@ def test_dataclass_with_method(self):
class WithMethod:
a: int
def b(self) -> int:
return 1
return 1 # pragma: no cover
for mock in [
create_autospec(WithMethod, instance=True),

View file

@ -316,7 +316,7 @@ def test_explicit_return_value_even_if_mock_wraps_object(self):
passed to the wrapped object and the return_value is returned instead.
"""
def my_func():
return None
return None # pragma: no cover
func_mock = create_autospec(spec=my_func, wraps=my_func)
return_value = "explicit return value"
func_mock.return_value = return_value

View file

@ -748,7 +748,7 @@ def test_stop_idempotent(self):
def test_exit_idempotent(self):
patcher = patch(foo_name, 'bar', 3)
with patcher:
patcher.stop()
patcher.__exit__(None, None, None)
def test_second_start_failure(self):