如何使用Mock @patch获取调用次数?
- 论坛
- 如何使用Mock @patch获取调用次数?
9 浏览
如何使用Mock @patch获取调用次数?
我正在为我们正在开发的某个库编写单元测试。这个库使用requests.post()
来向外部服务器执行POST HTTP请求。
在我的UT中,我显然不想联系真实的服务器,而是模拟响应。
为此,我写了一个函数,如下所示:
def mocked_post(url, headers, data, **kwargs): response = Mock() # 一些逻辑,在这里不相关。 return response
然后我在我的单元测试类周围修补了这个函数:
@patch('mylib.requests.post', mocked_post) class MyTest(TestCase): def test_foo(self): # 一些测试逻辑
这个工作得很完美。
现在我想获得对我的模拟函数调用的次数。我尝试了mocked_post.call_count
,但它不存在。我尝试在许多不同的对象上找到这个属性(包括mylib.requests.post
),但到目前为止没有运气。
如何访问这个模拟函数的call_count
?