0
我想模拟一个调用具有参数的外部函数的函数。 我知道如何模拟一个函数,但我不能给参数。我用@patch,side_effects尝试过,但没有成功。带参数的python模拟函数
def functionToTest(self, ip):
var1 = self.config.get(self.section, 'externalValue1')
var2 = self.config.get(self.section, 'externalValue2')
var3 = self.config.get(self.section, 'externalValue3')
if var1 == "xxx":
return False
if var2 == "yyy":
return False
[...]
在我的测试,我可以做到这一点:
def test_functionToTest(self):
[...]
c.config = Mock()
c.config.get.return_value = 'xxx'
因此,无论VAR1,VAR2和VAR3采取“XXX”相同的值,但我不知道如何嘲笑的每一个指令,给VAR1,VAR2和VAR3值我想
(Python版本2.7.3)
嘿chepner,它的工作原理!我试图改变参数(self.section,'externalValue'),但你的解决方案更好。谢谢! – myg