1.对void返回做Mockito模拟
Mockito.doNothing().when(loggerMapper).updateLogger(Mockito.any(LoggerPo.class));
2.完全使用mock来模拟spring注入等,不启动spring容器
public class LoggerServiceImplTest {
@InjectMocks
private LoggerService loggerService = new LoggerServiceImpl();
@Mock
private LoggerMapper loggerMapper;
@Before
public void before() throws Exception {
MockitoAnnotations.initMocks(this);
}
}
3.对调用链使用Mock模拟
现实的例子是:
userCenterService.session(token).userOperationService().loadUser()
这样一个长链的调用,对使用Mockito模拟,还是挺麻烦的,容易出现NullPointerException这样的错误。
使用Mockito的例子如下:
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private UserCenterService userCenterService;
Mockito.when(userCenterService.session(Mockito.anyString()).userOperationService().loadUser()).thenRet