我找到了一种方法,但是有点奏效,但是可以用我的示例进行解释,它基于此响应,因此感谢@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。
希望这可以帮助某人:)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)