次のサンプルコードでmock.patchを機能させようとしています。
from mock import patch
from collections import defaultdict
with patch('collections.defaultdict'):
d = defaultdict()
print 'd:', d
これにより、次のように出力されます。
d: defaultdict(None, {})
これは、defaultdictにパッチが適用されていないことを意味します。
from / importステートメントをストレートインポートステートメントに置き換えると、次のように機能します。
from mock import patch
import collections
with patch('collections.defaultdict'):
d = collections.defaultdict()
print 'd:', d
出力は次のとおりです。
d: <MagicMock name='defaultdict()' id='139953944084176'>
from / importを使用して呼び出しにパッチを適用する方法はありますか?
ありがとうございました