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 を返します。たぶん、ゲッターではなくフィールドを直接使用しているためでしょうか?