Maven依赖
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>3.1.0</version>
<scope>test</scope>
</dependency>
常用例子
创建mock对象
UserMapper mockUserMapper = Mockito.mock(UserMapper.class);
对返回值stub
Mockito.when(mockUserMapper.getUserByUsername("notExist")).thenReturn(null);
对无返回值的方法stub
// 改变传入参数对象的属性值
Mockito.doAnswer((invocationOnMock) -> {
User userArgument = invocationOnMock.getArgument(0);
userArgument.setId(userIdGeneratedByDatabase);
return null;
}).when(mockUserMapper).insertUserBasicInfo(user);
对mock对象进行验证
// 验证是否调用过某方法
Mockito.verify(mockUserMapper).insertUserBasicInfo(user);
// 按调用顺序验证
InOrder inOrder = Mockito.inOrder(mockUserMapper);
inOrder.verify(mockUserMapper).insertUserBasicInfo(user);
inOrder.verify(mockUserMapper).insertUserAuthority(userIdGeneratedByDatabase, user.getAuthority());
PREVIOUSJava8 函数式编程
NEXTMaven安装最佳实践