【问题标题】:How do I use Mox to mock a module function and allow it to be called in almost any way如何使用 Mox 模拟模块函数并允许以几乎任何方式调用它
【发布时间】:2010-08-06 00:06:23
【问题描述】:

我有一个函数 A 多次调用另一个函数 B。我想以这样一种方式模拟 B,即 任何数量 具有正确数量的参数的调用,无论值如何,都将返回一个固定值并被视为正确。

函数是否被调用或调用多少次不是规范的一部分。

【问题讨论】:

    标签: python mox


    【解决方案1】:

    正常地剔除 B....

    假设 B 接受 2 个参数并且应该返回 'foo':

    B(mox.IgnoreArg(), mox.IgnoreArg()).MultipleTimes().AndReturn('foo')
    

    【讨论】:

    • 似乎没有处理零调用情况:ExpectedMethodCallsError: Verify: Expected methods never called
    • 是的,我不知道如何解决它......除了这是我现在大部分时间使用的“模拟”的一个更容易的问题。
    【解决方案2】:
    def B(*args, **kwds):
       return 'fixed value'
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-31
    • 1970-01-01
    • 1970-01-01
    • 2022-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多