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