我有一个跟随类
的模拟对象class Book(object):
def __init__(self):
self._counter = 1
@property
def counter(self):
_, self._counter = self._counter, self._counter + 1
return _
类Book
具有以下Mock对象
book = Mock(spec = Book, self._counter = 1)
如果计数器不是属性我可以写这样的测试
def test_counter(self):
book.counter = partial(Book.counter, book)
self.assertNotEquals(book.counter(), book.counter())
但是因为它是一个属性,上面的策略不起作用,你能建议一个很好的方法来为属性编写测试,因为我必须使用Book类的Mock对象。
答案 0 :(得分:1)
def test_counter(self):
book.counter = partial(Book.counter.fget, book)
self.assertNotEquals(book.counter(), book.counter())