【问题标题】:How can you override a function with a lambda using python mock?如何使用 python mock 覆盖带有 lambda 的函数?
【发布时间】:2013-12-13 00:41:22
【问题描述】:

我有一些代码使用Greenlet.spawn 稍后调用一些代码。我刚刚发现该代码中出现了一个异常。它本来会被我们的测试捕获,但 spawn 会在测试成功后让它运行。

我正在寻找一种方法来修补Greenlet.spawn,以便它立即调用传入的函数。

我想修补测试类,而不必为测试添加参数。我已经将补丁用于很多其他的东西,我觉得它必须能够做到这一点,但我的谷歌搜索都没有成果。

有什么想法吗?

【问题讨论】:

    标签: lambda python-mock


    【解决方案1】:

    想通了:

    @patch('skynet.middleware.Greenlet.spawn', classmethod(lambda cls,f: f()))
    

    回想起来似乎很明显,我想我只是一直没有完全正确。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-12
      • 2022-01-19
      • 1970-01-01
      • 1970-01-01
      • 2020-04-10
      相关资源
      最近更新 更多