要旨
下記のようにモックを定義する。
import pandas as pd from unittest.mock import MagicMock import jquantsapi mock = MagicMock(return_value=pd.DataFrame()) cli = jquantsapi.Client(refresh_token="dummy") cli.get_prices_daily_quotes = mock
下記のように呼び出すと、モックされたメソッドが呼ばれ、規定した値を返す。
cli.get_prices_daily_quotes() # => Empty DataFrame # => Columns: [] # => Index: []
詳細
MagicMock(return_value=pd.DataFrame())
上記のように、 MagicMock
を初期化する際、 return_value
に渡してやった値が、全ての mock.*()
の戻り値となる。
要旨の部分では、 mock.get_prices_daily_quotes()
を呼んでいるが、このメソッド名だけでなく、いかなるメソッド名で呼んでも、 return_value
で規定した値が返るようになる。