1
モック例list this example:mock.patch(...)。start()の戻り値を親モックにアタッチするにはどうすればよいですか?
>>> manager = MagicMock()
>>> with patch('mymodule.Class1') as MockClass1:
... with patch('mymodule.Class2') as MockClass2:
... manager.attach_mock(MockClass1, 'MockClass1')
... manager.attach_mock(MockClass2, 'MockClass2')
... MockClass1().foo()
... MockClass2().bar()
...
<MagicMock name='mock.MockClass1().foo()' id='...'>
<MagicMock name='mock.MockClass2().bar()' id='...'>
>>> manager.mock_calls
[call.MockClass1(),
call.MockClass1().foo(),
call.MockClass2(),
call.MockClass2().bar()]
私が代わりにコンテキストマネージャのパッチャーにexplicit start
and stop
callsと、同じことを実現したいと思いますし、それは本当にでモックではないpatcher.start()
戻って何かを思わ1の文脈と同じ感覚では、少なくともモック親にそれらを添付する能力に関して、次のとおりです。
>>> from mock import patch, Mock
>>> p = patch('requests.get', autospec=True)
>>> manager = Mock()
>>> manager.attach_mock(p.start(), 'requests_get')
>>> import requests
>>> requests.get('https://google.com')
<MagicMock name='get()' id='4472381392'>
>>> manager.mock_calls
[]
>>> p.stop()
>>> manager.mock_calls
[]
私は何かが欠けている、またはこれはバグで、からかっについて移動する最良の方法は何ですかアムいくつかのそのような呼び出しを呼び出し、それらがすべて期待通りの順序で作られた?