質問
URL を呼び出して、その URL の応答を変更する関数があります。その URL に依存することなく、応答を変更する関数のコードの部分の単体テストを作成するにはどうすればよいですか?
例
my_module.py
import requests
def get_some_resource():
url = 'http://httpbin.org/get'
r = requests.get(url)
# Special manipulation of returned text (what I want to test) simple example used
output = r.text.upper()
return output
これまでに試したこと
- モックの MagicMock() の使用 (私が知る限り、これを使用して関数の変数をオーバーライドすることはできません)
- その関数の 2 つのセクション (URL の取得と応答の変更) を分割することを検討しましたが、それが必要かどうかはわかりません。
- ググりすぎて手が痛い