あるクラスのメソッドをMockに置き換えたい場合、以下のようにすることが多いが、複数置き換えたい場合にネストが深くなってしまう。
with patch.object(AClass, 'method', new=method2):
#テストコード
以下のようにannotationにするとネストが深くならないのでこっちの方が良さそう。
@patch.object(AClass, '_log_input_and_exit', new=target)
@patch.object(AClass, '_exit_ok', new=MagicMock())
def test_run_and_exception(self):
参考: