在模拟中,我希望某个函数在测试中返回一个新值。我就是这样做的。
Class MyClass:
my_var = None
def foo(self, var1):
return somevalue
def bar(self):
my_var = foo(1)
Class TestClass(unittest.TestCase):
myClass = MyClass()
def _side_effect_foo(var1):
if condition:
return new_value
@patch("MyClass", "foo", side_effect='_side_effect_foo')
def test_foo(self):
self.myClass.bar()
这给了我一个错误:
不能将kwargs传递给我们没有创建的mock。
我是否使用了正确的side\u effect格式?
谢谢你的帮助!