2015-09-10 3 views
0

Может ли сеттер использоваться на издеваемом объекте? У меня есть обычный класс, который я издевался, и мне нужно установить некоторые значения для издевающегося объекта.Как использовать сеттеры на издеваемом объекте?

Могу ли я использовать сеттеры на макет предмета?

+0

Да, вы можете позвонить сеттеру (если таковой имеется). Но что вы ожидаете от такого метода? – Seelenvirtuose

+0

Когда я использую сеттер, значение не устанавливается для объекта. Когда я отлаживаю, он всегда приходит как null. – rickygrimes

+0

Если объект издевается, вы не можете называть его методами, если вы не издеваетесь над ними. – Zarwan

ответ

3

Не издеваться над структурами данных (например,и Map), и не издеваться над POJOs. Просто используйте реальный объект. Идея насмешки заключается в том, чтобы удалить поведение из уравнения, а не хранения данных.

Если класс не является POJO, вам фактически не нужно использовать сеттер, вы можете просто использовать функциональность when для геттера, например.

when(mock.getSomeValue()).thenReturn(aRealValue); 
+0

Это имеет смысл. Спасибо :) – rickygrimes

Смежные вопросы