Я знаю, что вы можете установить несколько разных объектов, которые будут возвращены на макет. Ex.mockito возвращает последовательность объектов по методу шпиона
when(someObject.getObject()).thenReturn(object1,object2,object3);
Можете ли вы сделать то же самое со шпионским объектом? Я пробовал выше на шпионах, не повезло. Я прочитал в документации, чтобы использовать doReturn()
на шпиона, как показано ниже
doReturn("foo").when(spy).get(0);
Но deReturn()
принимает только один параметр. Я хотел бы вернуть разные объекты в определенном порядке на шпиона. Это возможно?
У меня есть класс, похожий на следующий, и я пытаюсь его протестировать. Я хочу проверить myClass
, не anotherClass
public class myClass{
//class code that needs several instances of `anotherClass`
public anotherClass getObject(){
return new anotherClass();
}
}
Я просто добавить, что я предпочел бы 'BDDMockito' псевдонимов, но это вопрос предпочтения в коде. Это даст следующее: 'willReturn (" foo "). WillReturn (" bar "). WillCallRealMethod(). Given (meh) .meh();' – Brice