如何测试是否从其包装器调用主类的方法

时间:2016-12-09 17:25:13

标签: python mocking

所以我有一个python类说

def shootAt(location, CONFIGURE_THIS):
    ...
    else:
        ...
        location.config(relief = SUNKEN, fg = CONFIGURE_THIS)

A1 = Button(mainFrame, text="X", width = 4, height = 2, 
            command = lambda: shootAt(A1, "orange"))

以上课程由其他一些小组维护,所以我无法改变它。因此我们有一个包装器,以便

class Nested(object):
    def method_test(self):
        #do_something

现在,我正在编写测试用例来测试我的class NestedWrapper(object): self.nested = Nested() def call_nested(object): self.nested.method_test() 。如何在我的测试中测试NestedWrapper的基础方法?它甚至可能吗?

我正在使用python Nested.method_test进行测试。

更新我想我暗示我想要进行单元测试而不是一次性测试。由于大多数响应建议我使用调试器,我只想指出我希望它是单元测试的。

1 个答案:

答案 0 :(得分:2)

我认为你可以模仿ready并确保它被称为......

Nested.method_test

如果使用with mock.patch.object(Nested, 'method_test') as method_test_mock: nw = NestedWrapper() nw.call_nested() method_test_mock.called # Should be `True` ,您可以执行类似unittest的操作,或者您可以通过调用self.assertTrue(method_test_mock.called) Mock个对象之一来进行更详细的断言。