MockBean 和 SpyBean 的區(qū)別刁标?
MockBean 和 SpyBean 都是Spring 提供的用來來注入Mockito 增強(qiáng)對象的注解鱼冀,他倆的區(qū)別是
Mock 是給要mock的對象提供指定的mock行為挪凑,對沒有提供mock行為的函數(shù)返回null批销。
Spy 是給spy的對象提供指定的mock行為戈次,對沒有mock行為的函數(shù)返回默認(rèn)行為耸彪。
但是需要注意的是堂鲜,這兩種增強(qiáng)的方式是不一樣的
MockBean支持兩種
when(bean.method(any())).thenReturn(map);
doReturn(map).when(bean).method(any());
SpyBean只能這樣寫
doReturn(map).when(bean).method(any());