如何模拟等待pip模块的等待方法

时间:2020-11-11 10:05:27

标签: python mocking pytest

我正在使用python的等待模块,在一个类中,我有以下方法:

from waiting import wait
class Manager:
    @staticmethod
    def wait_answer(timeout, title):
        RunningContext.inputResponse = None
        wait(lambda: InputClientLayer.is_answer_ready(), timeout_seconds=timeout, waiting_for=title)

在测试中,我做到了:

@mock.patch('waiting.wait')
def test_wait(self, wait):
    myClass = Manager()
    myClass. wait_answer(60, 'Test')

但是该函数没有被嘲笑!

怎么了?

谢谢!

1 个答案:

答案 0 :(得分:-1)

我找到了一个解决方案,如果要测试的文件名是例如“ helpers”的包中的Manager.py,则可以模拟:

@mock.patch('helpers.Manager.wait')
def test_wait(self, wait):
    myClass = Manager()
    myClass. wait_answer(60, 'Test')