我正在尝试编写模拟以在类中设置一个简单的集合。我知道我们不需要嘲笑这个具体的例子。但我正在使用这个例子来学习如何使用框架。 class Test { 整数值;
public Integer getValue(){
return this.value;
}
public void setValue(int val){
this.value = val;
}
}
我的模拟方法如下:
@Test
public void testSetMethod(){
Test v = Mockito.mock(Test.class);
Mockito.doCallRealMethod().when(v).setValue(10);
assertEquals(10,v.getValue());
}
我的assetEquals方法中的v.getValue()为零,而不是10。
答案 0 :(得分:2)
这一行
Mockito.doCallRealMethod().when(v).setValue(10);
告诉在使用该值调用该方法时调用实际方法。
所以你必须致电
v.setValue(10);
之后你还需要添加
Mockito.doCallRealMethod().when(v).getValue();
让您的示例有效。