单元测试中Mockito的简单使用

引入依赖

1
2
3
4
5
6
<!--引入jmockit依赖-->
       <dependency>
           <groupId>org.jmockit</groupId>
           <artifactId>jmockit</artifactId>
           <version>1.38</version>
       </dependency>

  使用Mockito编写单元测试

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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);
    }
}

  

 

 

 

 

 

 

 

posted @   不忘初心2021  阅读(82)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示