为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 Python 测试函数内部是否调用了实例方法?

如何使用 Python 测试函数内部是否调用了实例方法?

Smart猫小萌 2023-02-15 16:39:10
作为单元测试的一部分(使用 pytest),我想检查下面的方法“my_method”是否被调用。def f():     my_instance = MyClass()     my_instance.my_method()我有什么办法可以做到这一点?
查看完整描述

2 回答

?
FFIVE

TA贡献1797条经验 获得超6个赞

建议的更改是:


def f(cls):

    cls.my_method()


my_instance = MyClass()

f(my_instance)

然后你可以模拟my_instance并检查它是否被调用。


查看完整回答
反对 回复 2023-02-15
?
白衣非少年

TA贡献1155条经验 获得超0个赞

正如我的问题的评论中所建议的,我最终得到了一个使用“模拟”模块中的“补丁”的工作解决方案。


my_file.py


class MyClass():

    def __init__(self):

        pass


    def my_method(self):

        pass


def function():

    my_instance = MyClass()

    my_instance.my_method()

test_my_file.py


import mock


from my_file import function


@mock.patch('my_file.MyClass.my_method')

def test_function(mock_method):

    function()

    mock_method.assert_called_once()


查看完整回答
反对 回复 2023-02-15
  • 2 回答
  • 0 关注
  • 164 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号