2012-06-18 14 views
8

EasyMockを使用してモックオブジェクトを作成しましたが、メソッド呼び出し後にオブジェクトに別のオブジェクトを返させようとしています。メソッド呼び出しによって例外がスローされることはありませんが、andReturn()呼び出しにnull以外の引数があることは確かですが、nullを返します。EasyMock andReturn()null戻り値

答えて

15

ここでの問題は、動作を指定した後で模擬オブジェクトにreplay()を呼び出さなかったことでした。何らかの理由で、これによって期待される振る舞いの一部が許可されましたが、戻り値が予想されたときには常にnullが返されます。モックを使用する前にreplay()に電話することを忘れないでください。

+2

注意してください。ちょうど 'andReturn()'というと、嘲笑されたメソッドの1回の呼び出しにのみ有効です。たとえば、 'andReturn(...)。anyTimes()'などの値を返す呼び出しの数を指定することができます。 – grinch