MockBean 和 SpyBean 的区别?
MockBean 和 SpyBean 都是Spring 提供的用来来注入Mockito 增强对象的注解,他俩的区别是
Mock 是给要mock的对象提供指定的mock行为,对没有提供mock行为的函数返回null。
Spy 是给spy的对象提供指定的mock行为,对没有mock行为的函数返回默认行为。
但是需要注意的是,这两种增强的方式是不一样的
MockBean支持两种
when(bean.method(any())).thenReturn(map);
doReturn(map).when(bean).method(any());
SpyBean只能这样写
doReturn(map).when(bean).method(any());
网友评论