以下のpatch.specialmultipleのような方法を探しています。 同じMockオブジェクトインスタンスを持つ複数のファイルでopenメソッドをパッチしたいところです。デコレータとして使用する場合にもので、装飾された機能複数のファイルでopenメソッドを模倣する方法
に渡された唯一のモックオブジェクトは、あなたが__builtin__
にopen
にパッチを適用することができるはずモック
file1.py
---------
def hello():
open('test.data').read()
file2.py
--------
def world():
open('test2.data').read()
file3.py
--------
mopen = mock.MagicMock(create=True)
@patch.specialmultiple(['file1.open', 'file2.open'], new=mopen)
def test_case1(mopen):
open.side_effect = [OSError('not found'), OSError('Noy found')]