如何使用Mox模拟模块函数并允许几乎任何调用方式

4 投票
2 回答
5304 浏览
提问于 2025-04-16 02:24

我有一个函数A,它会多次调用另一个函数B。我想要模拟函数B,让它在被调用时,无论调用多少次,只要参数的数量是对的,不管参数的具体值是什么,都能返回一个固定的值,并且被认为是正确的。

调用这个函数的次数或者调用的具体情况并不是我们需要关注的内容。

2 个回答

1
def B(*args, **kwds):
   return 'fixed value'

当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。

8

正常情况下,先把B给简单处理一下……

假设B需要接收两个参数,并且应该返回'foo':

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

撰写回答