模拟一个委托魔术方法的python对象

时间:2016-05-06 22:22:12

标签: python python-2.7 unit-testing mocking

我有一个课程,主要表现为一组ID,但不完全。想一想:

class PoundIds(object):
    ....
    @property
    def cats(self):
        return self.cats

    @property
    def dogs(self):
        return self.dogs

    @property
    def animal_ids(self):
        return set(dog.id for dog in self.dogs) | set(cat.id for cat in self.cats) | 

    def __contains__(self, id):
        return id in self.animal_ids

    def __iter__(self, id):
        return self.animal_ids.__iter__()

我现在正在测试这个对象,只会使用它提供的ID列表。有没有办法将对象模拟为一组特定的整数,将魔术方法传递给封装集?因此,如果我写if a in Foo():,我希望模拟Foo调用a in Foo().animal_ids,依此类推其他魔术方法。

0 个答案:

没有答案