如何测试主类的方法是否从其wrapp调用

2024-10-01 19:20:37 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有一个python类

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

上面的类由其他组维护,因此我无法更改它。因此,我们在它周围有一个包装,这样

class NestedWrapper(object):
    self.nested = Nested()

    def call_nested(object):
        self.nested.method_test()

现在,我正在编写测试用例来测试我的NestedWrapper。如何在我的一个测试中测试Nested.method_test的底层方法被调用?有可能吗

我正在使用pythonMock进行测试

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


Tags: testselfobjectdef测试用例单元测试calldo
1条回答
网友
1楼 · 发布于 2024-10-01 19:20:37

我想你可以模拟一下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对象上的一个more specific assertions来进行更详细的断言

相关问题 更多 >

    热门问题