Ich habe eine Klasse A mit 2 Funktionen: Funktion a(), die eine Zufallszahl zurückgibt. Funktion b() die a() aufruft und den zurückgegebenen Wert zurückgibt.Mockito wenn(). DannReturn() nicht richtig funktioniert
In einem Test habe ich dies:
A test = Mockito.mock(A.class)
Mockito.when(test.a()).thenReturn(35)
assertEquals(35,test.a())
assertEquals(35,test.b())
Der Test am zweiten Assertion fehlschlägt. Weiß jemand warum?
Um klar zu sein - das ist nicht mein richtiger Code, sondern ein einfacher Code mein Problem
@SajanChandran Danke !! Beide Lösungen funktionieren!2 Fragen: 1) Für die erste Lösung muss ich dann CallRealMethod() für jede Funktion in der Klasse tun? für jede Funktion mit einem Aufruf an a()? 2) Was ist bei der zweiten Lösung der Unterschied zwischen "Spion" und "Spionage"? – tamird14
Ja, wenn Sie eine echte Methode verwenden möchten, müssen Sie 'thenCallRealMethod' aufrufen und diese für http://stackoverflow.com/questions/28295625/mockito-spy-vs-mock sehen –
Es liegt an Ihnen, im Grunde zu entscheiden, eine echte Methode zu verspotten oder aufzurufen –