3

Mockito には小さな問題があります。私がこのコードを持っているとしましょう:

MyObject object = mock(MyObject.class);
System.out.println("PROPERTY 1 BRUT VALUE : " + property1Value);
object.setProperty1(property1Value);
System.out.println("PROPERTY 1 VALUE BEFORE STUB : " + object.getProperty1());
when(object.getProperty1()).thenReturn(property1Value);
System.out.println("PROPERTY 1 VALUE AFTER STUB : " + object.getProperty1());

PROPERTY 1 BRUT VALUE : 150.0
PROPERTY 1 VALUE BEFORE STUB : 0.0
PROPERTY 1 VALUE AFTER STUB : 150.0

問題は、オブジェクト プロパティが直接設定されていないことです。MyObject にそれを使用するメソッドがあり、常に 0 を返します。モックされている場合、オブジェクト プロパティを直接設定することはできませんか?

この点に関するドキュメントには何も見つかりませんでした。

ありがとう。

EDIT 1:Mockitoによって設定されたプロパティを使用するMyObjectのメソッドは次のとおりです

public Double getProperty1X2() {
    return 2 * property1;
}

プロパティ値を設定しても、このメソッドはテストで 0 を返します。たぶん、ゲッターではなくフィールドを直接使用しているためでしょうか?

4

1 に答える 1