Mock の SideEffect から インスタンスの self を取得する
code:python
from unittest.mock import patch
class HogeClass:
def __init__(self):
self.hoge = 'hoge'
def get_hoge(self):
pass
with patch('__main__.HogeClass.get_hoge', autospec=True) as gh:
def mock_get_hoge(self):
print(self.hoge)
gh.side_effect = mock_get_hoge
HogeClass().get_hoge()
autospec=True を patch の引数に追加することで、side_effect で呼ばれる関数にも self が渡ってくるようになります。