2017-04-17 48 views
0
from flexmock import flexmock 
class Addition: 
    def add(self,num1,num2): 
     return num1+num2 

添加額外的功能創建一個模擬

mock=Addition() 
flexmock(mock) 

mock.should_receive('add') 

assert mock.add(1,2)==3 

我都嘲笑使用flexmock加成類。現在假設如果我還想確保add方法只接收整數值。如何編寫測試用例以滿足增加的需求。還是我遵循完全錯誤的道路?如何編寫測試用例後模擬

回答

0

嗯,這真的取決於權利。你可以改變你原有的功能有一個Exception,你可以測試導致,要出現的情況下,或者你可以做這樣的事情(我用pytest BTW):

def test_add(num1, num2): 
    with pytest.raises(TypeError): 
     return num1 + num2 

test_add(2, 'fizz') ---> PASSED 

test_add(2, 2) ---> FAILED 
Failed: DID NOT RAISE <type 'exceptions.TypeError'> 
+0

我想要做一個模擬的方式並困惑它是如何去 –

+0

對不起,我不知道,我更喜歡'pytest',這是更容易理解伊莫。 –

+0

你如何測試API調用, –

相關問題