class A(object):
def get_value(self):
return "foo"
class B(A):
def get_value(self):
value = super(B, self).get_value()
value + "bar"
return value
鉴于上述类,当我想写一个测试套件为B()
类,我怎么去嘲笑那super()
调用A()
的get_value()
方法? 什么我想会是伪代码杂交:
class BTestCase(TestCase):
def setUp(self):
self.b = B()
def test_get_value(self):
# This won't work, attribute error- "super" object has
# no attribute get_value
super(B, self.b).get_value = Mock()
super(B, self.b).get_value.assert_called_once_with()
但很明显,这是行不通的。 但我不知道是否有测试呼叫的方式,如果修补是去了解它的方式。