如何在模拟对象上使用设置器?

How do I use setters on mocked object?

可以在模拟对象上使用 setter 吗?我有一个我模拟过的常规 class,我需要为模拟对象设置一些值。

我可以在模拟对象上使用 setters 吗?

不要模拟数据结构(如 ListMap),也不要模拟 POJOs。只需使用真实的对象。模拟背后的想法是从等式中删除 行为 ,而不是数据存储。

如果 class 不是 POJO,那么您实际上不必使用 setter,您可以只对 getter 使用 when 功能, 例如

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