我一直在使用python mock模块进行测试用例。我经常用@patch('my_method')
装饰器装饰我的测试用例。然后在测试用例的主体中,我在修补方法上设置了.return_value
属性或.side_effect
属性来模拟其行为。同样在测试用例中,我检查修补方法是否使用.assert_called_once()
调用。这个很好用。没问题。例如:
from mock import patch
@patch('my_method')
def test_case_1(self, mock_my_method):
mock_my_method.return_value = None
# Do some testing here
mock_my_method.assert_called_once()
现在我想做一些稍微不同的事情:我只想检查一次是否调用了修补过的方法(通过使用^{
如果只想将
patch
用于其调用日志功能,而不模拟原始函数的行为,请将原始函数指定为模拟的side_effect
:side_effect
名称具有误导性。如果mock有一个^{side_effect
,并返回或引发side_effect
返回或引发的任何内容。将原始函数用作side_effect
意味着我们得到了原始函数的行为(side_effect
可以是除函数之外的一些其他类型的东西,但我们这里不需要该功能。)相关问题 更多 >
编程相关推荐