use ExitStack instead of start + stop

This commit is contained in:
anthony sottile 2025-11-21 15:09:41 -05:00
parent 9c7ea88ab9
commit 8d34f95308

View file

@ -1,6 +1,7 @@
from __future__ import annotations
import argparse
import contextlib
import os.path
from unittest import mock
@ -97,11 +98,9 @@ CMDS = tuple(fn.replace('_', '-') for fn in FNS)
@pytest.fixture
def mock_commands():
mcks = {fn: mock.patch.object(main, fn).start() for fn in FNS}
ret = auto_namedtuple(**mcks)
yield ret
for mck in ret:
mck.stop()
with contextlib.ExitStack() as ctx:
mcks = {f: ctx.enter_context(mock.patch.object(main, f)) for f in FNS}
yield auto_namedtuple(**mcks)
@pytest.fixture