あるクラスのメソッドを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):
参考: