2016-12-20 23 views
0

私はしばらくこの問題に取り組んできました。JavaとMockito初心者の方も同じような愚かな間違いがあると思います。Mockito then returnがnullを返しています

は、私はO1が値MOCK_o1を持つことを期待しても、このシンプル場合

public WrapperObject<Void> myMethod(...) { 
    WrapperObject<Object1> o1 = getObject1FromWebServiceAndWrapIt(buildVar1(a)); 

    ... 

    private buildVar1(a) { 
     return someVar; 
    } 
} 

@Test 
public void testMyMethod() throws Exception { 
    Mockito.when(getObject1FromWebServiceAndWrapIt(MOCK_VAR1, MOCK_VAR2)).thenReturn(WrapperObject.of(MOCK_o1)); 
    ... 
} 

、同様に、それは代わりにnullとして解決に見える方法があります。

私はMockito.doReturn().when()パターンを試しましたが、それはnull以外のものも返しません。

私は簡単なコード例は申し訳ありませんが、それはジャンクの真ん中にあり、ここにすべてを貼り付けるのは難しいでしょう。誰かが恐ろしいパターンを認識していますか?

+1

あなたのオブジェクトは 'equals'を正しく実装していますか? – Mureinik

+0

@Mureinikはい、そうです。 –

+0

問題を理解できるように完全な例を投稿してください。現在のコードは、モックオブジェクトをMockito.when()に渡していないようです。 –

答えて

0

質問にはフレーズが不十分でしたが、答えは質問とは無関係です。

問題は、Mockito.any()varargsとは関係がありませんでした。私はvarargsのモックオブジェクトを渡す必要があるメソッドを使用していました。

Mockito.anyVararg()を使用してこれを修正できます。

関連する問題