我正在写一些测试,我想转换一下3.响应要对应的对象请求。响应物体。所以我有两个Flask应用程序(例如A
和B
),并且A
对B
进行内部调用(通过requests.post(url, json=payload)
)。我的目标是在不启动任何服务器的情况下正确模拟这些调用,当前的解决方案如下所示:
from unittest import mock
...
def mock_B_request(url, json):
response = app_B.test_client().post(url, json=json) # flask.Response
# Some hacking should be done here,
# since flask.Respone doesn't have `.ok`, `.json()`, etc.,
# so it will break the code inside app_A
return response
...
# Inside the actual test method
with mock.patch('requests.post', side_effect=mock_B_request):
response = app_A.test_client().post(url, json=payload)
result = response.get_json()
...
有人遇到过这样的问题吗?这里最简单的解决办法是什么?你知道吗
最终,我找到了一个非常简单的解决方案:
我希望它能对某人有所帮助。你知道吗
相关问题 更多 >
编程相关推荐