2012-06-18 11 views
8

Ich habe ein Mock-Objekt mit EasyMock erstellt, und ich versuche, das Objekt ein anderes Objekt nach einem Methodenaufruf zurückzugeben. Der Methodenaufruf verursacht keine Ausnahme, aber er gibt null zurück, obwohl ich sicher bin, dass der Aufruf andReturn() ein Nicht-Null-Argument hatte.EasyMock andReturn() null Rückgabewert

Antwort

15

Das Problem hier war, dass ich nicht replay() auf dem Mock-Objekt nach Angabe des Verhaltens aufgerufen hatte. Aus irgendeinem Grund führte dies dazu, dass einige der erwarteten Verhaltensweisen zugelassen wurden, aber immer null zurückgegeben wurden, wenn ein Rückgabewert erwartet wurde. Denken Sie daran, die Nummer replay() anzurufen, bevor Sie den Schein verwenden.

+2

Beachten Sie auch, dass, wenn Sie einfach 'andReturn()' sagen, das nur für einen Aufruf der verspotteten Methode gut ist. Sie können die Anzahl der Aufrufe angeben, für die Sie den zu verwendenden Wert zurückgeben möchten, z. B. 'andReturn (...). AnyTimes()' – grinch

Verwandte Themen