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属性来获取每个调用的参数,并进行断言来测试方法是否正确地调用。

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

相关内容

热门资讯

第十分钟方式!哈糖大菠萝开挂(... 第十分钟方式!哈糖大菠萝开挂(透视)其实存在有辅助工具(哔哩哔哩)1、实时哈糖大菠萝开挂透视辅助更新...
三分钟机巧!wepoker科技... 三分钟机巧!wepoker科技辅助器(透视)果然有辅助安装(哔哩哔哩)1、上手简单,内置详细流程视频...
8分钟技法!wepoker辅助... 8分钟技法!wepoker辅助插件功能(透视)切实有辅助透视(哔哩哔哩)wepoker辅助插件功能辅...
第4分钟手段!wepoker好... 第4分钟手段!wepoker好友局透视(透视)都是有辅助开挂(哔哩哔哩)1、下载好wepoker好友...
2分钟要领!wpk透视辅助方法... 2分钟要领!wpk透视辅助方法(透视)一直有辅助教程(哔哩哔哩)1、金币登录送、破产送、升级送、活动...
第一分钟模块!wepoker透... 第一分钟模块!wepoker透视底牌脚本(透视)切实真的是有辅助辅助(哔哩哔哩)一、wepoker透...
第9分钟绝活儿!红龙poker... 第9分钟绝活儿!红龙poker作必弊指令(透视)竟然存在有辅助工具(哔哩哔哩)一、红龙poker作必...
第3分钟办法!哈糖大菠萝破解器... 第3分钟办法!哈糖大菠萝破解器(透视)总是是有辅助教程(哔哩哔哩)1、进入到哈糖大菠萝破解器是否有挂...
四分钟步骤!wejoker辅助... 四分钟步骤!wejoker辅助软件视频(透视)确实存在有辅助神器(哔哩哔哩)进入游戏-大厅左侧-新手...
6分钟攻略!wejoker辅助... 6分钟攻略!wejoker辅助软件(透视)都是是真的有辅助透视(哔哩哔哩)wejoker辅助软件辅助...