如何在类实例化期间模拟使用setattr调用的方法调用?

时间:2016-02-15 09:28:31

标签: python-2.7 mocking

我有以下课程:

class ClassA(Object):
    VERSIONS = {
        '1': {
            'x': a.b.x.X # where x is the module and X is the class
        }
    }    
    ATTRS = ['y', 'z']
    def __init__(self, **kwargs):
        ...
        do_something... 
        ...
        for attr in ATTRS:
            setattr(self, attr, VERSIONS[ver][attr]())

我使用上面的代码如下:

class_a = ClassA()
class_a.x.y

其中x是模块,y是该模块中的方法

我现在需要嘲笑这个电话。我如何模拟它,因为方法y不是ClassA的一部分?

1 个答案:

答案 0 :(得分:0)

这可以按如下方式完成:

mock_class_a.return_value.x.y = value_to_return