我们使用Mock for python 已经有一段时间了。
现在,我们有一种情况,我们想模拟一个函数
def foo(self, my_param):
#do something here, assign something to my_result
return my_result
通常,模拟它的方法是(假设 foo 是对象的一部分)
self.foo = MagicMock(return_value="mocked!")
即使,如果我调用 foo() 几次,我可以使用
self.foo = MagicMock(side_effect=["mocked once", "mocked twice!"])
现在,我面临一种情况,当输入参数具有特定值时,我想返回一个固定值。因此,如果假设“my_param”等于“某物”,那么我想返回“my_cool_mock”
when(dummy).foo("something").thenReturn("my_cool_mock")
我一直在寻找如何通过 Mock 实现同样的目标,但没有成功?
有任何想法吗?