单元测试中Mockito的简单使用
引入依赖
<!--引入jmockit依赖--> <dependency> <groupId>org.jmockit</groupId> <artifactId>jmockit</artifactId> <version>1.38</version> </dependency>
使用Mockito编写单元测试
package com.java.service.impl; import com.java.bean.User; import com.java.mapper.zero.LoginMapper; import com.java.service.UserService; import lombok.extern.slf4j.Slf4j; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.junit.MockitoJUnitRunner; import static org.junit.Assert.*; @RunWith(MockitoJUnitRunner.class) @Slf4j public class UserServiceImplTest { /** * 创建一个实例对象 */ @InjectMocks private UserServiceImpl userService; /** * 覆盖调用数据库的过程 */ @Mock private LoginMapper loginMapper; @Test public void updateUser() { User user=new User(); user.setId(11); user.setUserName("admin"); user.setPassWord("123"); user.setNickname("666"); user.setEmail("123@qq.com"); User userById=new User(); userById.setId(11); userById.setUserName("admin"); userById.setPassWord("123"); userById.setEmail("123@qq.com"); Mockito.when(loginMapper.getUserById(user.getId())).thenReturn(userById); User tempUser = new User(); Mockito.when(loginMapper.updateUser(tempUser)).thenReturn(1); Mockito.when(loginMapper.getUserById(user.getId())).thenReturn(userById); userService.updateUser(user); } }