openの先のreadで例外起こしたいとき(python2.x系)
openの先のreadで例外(exception)起こしたいときのパッチのあてかた
普通にpatchあててside_effect=Exceptionしたらエラーになったから、下記で回避した。
(エラー文コピペ忘れたけどモジュールエラーだったかな?)
openとread両方にpatchあてる方法とやりかた
@patch('__builtin__.open.return_value.__enter__.return_value.read', side_effect=Exception) @patch('__builtin__.open') def test_foo(self, open, read ):
公式はちょっとむずかしかった
unittest.mock --- 入門 — Python 3.7.4 ドキュメント
このサイトの解説がわかりやすかった
[python] まだmockで消耗してるの?mockを理解するための3つのポイント - くろのて