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

schreiben ein Mock

mock=Addition() 
flexmock(mock) 

mock.should_receive('add') 

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

Schaffung ich die Zusatz-Klasse flexmock verspottet haben. Nun nehme ich an, wenn ich weiterhin sicherstellen möchte, dass die add-Methode nur einen ganzzahligen Wert erhält. Wie schreibe ich den Testfall für zusätzliche Anforderung. Oder folge ich dem völlig falschen Weg?Wie Testfall für die zusätzliche Funktionalität nach mock hinzugefügt

Antwort

0

Nun, es hängt wirklich richtig. Sie könnten Ihre ursprüngliche Funktion ändern, um eine Exception zu haben, und Sie können für den Fall testen, dass dazu führen, entstehen oder Sie so etwas tun könnte (ich benutze 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

ich es in einem Mock Weise tun wollen und verwirrt, wie geht es Go –

+0

Tut mir leid, ich weiß nicht, ich bevorzuge 'pytest' es ist viel einfacher zu verstehen, imo. –

+0

Wie testen Sie API-Aufrufe, –

Verwandte Themen