我正在使用Michael Foord的模拟库,并有一个关于它的问题。
我想模拟一个属性,所以我这样做:
eggs = mock.PropertyMock(return_value='eggs')
spam = mock.Mock()
type(spam).eggs = eggs
assert spam.eggs == 'eggs'
这工作很出色。然而,我发现type()
部分很难看,我很想做这样的事情:
eggs = mock.PropertyMock(return_value='eggs')
spam = mock.Mock(eggs = eggs)
assert spam.eggs == 'eggs'
最后一个示例没有按预期工作,spam.eggs
变成一个方法而不是一个属性。
我知道我可以使用mock.Mock(eggs = 'eggs')
,所以eggs
不是一个方法,但我希望能够断言该属性。:-)
我正在使用Python2.7,但我假设unittest.Mock
也可以工作。
补丁可以在一定程度上帮助您,代码取自official Mock document
相关问题 更多 >
编程相关推荐