Мы использовали Mock для 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!"])
Теперь я сталкиваюсь с ситуацией, в которой я хочу вернуть фиксированное значение, когда входной параметр имеет определенное значение. Так что если пусть say "my_param" равен "что-то", тогда я хочу вернуть "my_cool_mock"
Это похоже на mockito для python
when(dummy).foo("something").thenReturn("my_cool_mock")
Я искал, как добиться успеха с Mock без успеха?
Любые идеи?