assert_called_with总是从最后一次调用中获取参数
创始人
2024-09-20 16:30:29
0

要测试一个对象的方法是否被正确地调用,通常会使用Mock对象和它的方法assert_called_with。但是,这个方法在测试多次调用时会出现问题,因为它总是从最后一次调用中获取参数,而不是从我们想要测试的调用中。

以下是解决此问题的代码示例:

from unittest.mock import Mock

def test_my_function():
    my_mock = Mock()
    my_mock.my_method(1, 2)
    my_mock.my_method(3, 4)

    # 使用call_args_list来获取所有调用的参数
    calls = my_mock.mock_calls
    assert calls[0].call_args == ((1, 2), {})
    assert calls[1].call_args == ((3, 4), {})

在上面的示例中,我们使用了Mock对象和它的mock_calls属性来获取所有调用。然后,我们可以使用call_args_list和call_args属性来获取每个调用的参数,并进行断言来测试方法是否正确地调用。

这个解决方法可以确保我们测试每次调用时传入的参数,而不仅仅是最后一次调用的参数。

相关内容

热门资讯

透视教程(wepoker)we... 透视教程(wepoker)wepoker底牌透视(透视)其实真的有挂(2025新版);wepoker...
透视安装(WEPOKER)we... 透视安装(WEPOKER)wepoker俱乐部辅助(透视)切实是有挂(2025新版教程)wepoke...
透视挂(WEPOKER)wep... 透视挂(WEPOKER)wepoker代打辅助机器人(透视)切实是有挂(科技教程)1、这是跨平台的w...
透视中牌率(WEPOKER)w... 透视中牌率(WEPOKER)wepoker辅助器下载(透视)其实真的是有挂(揭秘教程);1、实时we...
透视系统(WePoKer)we... 透视系统(WePoKer)wepoker智能辅助插件(透视)好像是有挂(揭秘教程)1、让任何用户在无...
透视有挂(WEPOKER)we... 透视有挂(WEPOKER)wepoker怎么设置透视(透视)确实是有挂(扑克教程)wepoker怎么...
透视ai(WePoKer)破解... 透视ai(WePoKer)破解辅助插件wepoker(透视)真是是真的有挂(新2025版);1、破解...
透视辅助(WEPOKER)we... 透视辅助(WEPOKER)wepoker私人局外卦(透视)真是有挂(黑科技教程)1、完成wepoke...
透视工具(WePoKer)we... 透视工具(WePoKer)wepoker有用吗(透视)原来存在有挂(我来教教你)小薇(透视辅助)致您...
透视安卓版(WEPOKER)w... 透视安卓版(WEPOKER)we-poker辅助软件教程(透视)果然真的是有挂(规律教程);we-p...