我们在python中使用Mock已经有一段时间了。
现在,我们有这样一种情况,我们想模拟一个函数
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等于something那么我要返回my_cool_mock
这似乎在python的mockito上可用
when(dummy).foo("something").thenReturn("my_cool_mock")
我一直在寻找如何实现同样的Mock没有成功?
什么好主意吗?