1
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()
但显然这将无法正常工作。但是我想知道是否有一种方法来测试这个通话,并且如果打补丁的话就是这样。
像所有好的答案,非常明显,一旦解释清楚:)感谢。 – ptr