Вызов метода на объекте шпионской каким-то образом не оказывает влияния на реальный осматривали объект:Mockito.spy не изменяя реального объекта
public class AAA {
public int a;
public void setA(int aa) {
this.a = aa;
}
public int getA() {
return a;
}
}
public class Proof {
@Test
public void wtf() {
AAA obj = new AAA();
AAA spy = Mockito.spy(obj);
spy.setA(22);
assertThat(obj.getA(), equalTo(22));
}
}
Как это может быть? Я полагаю, что тест Proof
должен пройти.
Это похоже на предполагаемое поведение? Я не слишком хорошо знаком с Mockito и шпионю, но из документации я вижу, что тестовый пример 'wtf' не должен проходить. Вы утверждаете на 'obj' вместо' spy'. – nbokmans