在python上模拟超类调用

在python上模拟超类调用,第1张

在python上模拟超类调用

我找到了一种方法,但是有点奏效,但是可以用我的示例进行解释,它基于此响应,因此感谢@kindall:

def my_test(self):    import __builtin__    from mocker import Mocker, KWARGS, ARGS    mymocker = mocker.mock()    mymocker.my_function(ARGS, KWARGS)    mocker.throw(MyException)    def mysuper(*args, **kwargs):        if args and issubclass(MyClass, args[0]): return mymocker        return original_super(*args, **kwargs)    __builtin__.original_super = super    __builtin__.super = mysuper    with mocker:        MyClass.myfunc()

所以本质上我要做的是检查

super
调用是否来自我要模拟的类,否则只需执行normal即可
super

希望这可以帮助某人:)



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5664599.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存