问题描述
这是对我有用的东西:
import mock
@mock.patch('requests.get', mock.Mock(side_effect = lambda k:{'aurl': 'a response', 'burl' : 'b response'}.get(k, 'unhandled request %s'%k)))
解决方法
我正在尝试使用Pythons模拟包来模拟Pythonsrequests
模块。使我在以下情况下工作的基本要求是什么?
在我的views.py中,我有一个函数,每次发出各种具有不同响应的request.get()调用
def myview(request):
res1 = requests.get('aurl')
res2 = request.get('burl')
res3 = request.get('curl')
在我的测试类中,我想做这样的事情,但无法找出确切的方法调用
第1步:
# Mock the requests module
# when mockedRequests.get('aurl') is called then return 'a response'
# when mockedRequests.get('burl') is called then return 'b response'
# when mockedRequests.get('curl') is called then return 'c response'
第2步:
叫我观点
第三步:
验证响应包含“ a响应”,“ b响应”,“ c响应”
如何完成第1步(模拟请求模块)?