首页 > 解决方案 > 如何模拟等待pip模块的等待方法

问题描述

我正在使用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')

但该功能没有嘲笑!

怎么了?

谢谢!

标签: pythonmockingpytest

解决方案


我找到了一个解决方案,如果要测试的文件名是包内的 Manager.py,例如“helpers”,您可以使用以下命令进行模拟:

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

推荐阅读