单元测试使用Mock随笔
时间:2021-11-30
本文章向大家介绍单元测试使用Mock随笔,主要包括单元测试使用Mock随笔使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
@RunWith(MockitoJUnitRunner.class) public class UserServiceTest { @Spy @InjectMocks private UserServiceImpl userService; @Mock private UserMapper userMapper; @Mock private UserAddressService userAddressService; @Test public void saveOrUpdateTest() { try { when(userAddressService.check(any())).thenReturn(true); when(userService.remove(any())).thenReturn(true); doNothing().when(userMapper).setUTF8MB4(); boolean result = userService.saveOrUpdate(null, null); System.out.println(); } catch (Exception ex) { ex.printStackTrace(); } Assert.assertTrue(true); } }
@InjectMocks:是直接实例化一个对象,且可以实现自动注入,注入的对象就是@Mock或@Spy注解的对象
@Mock:Mock出的对象,执行对象方法会返回Null,可以通过when().thenReturn方式或者doReturn().when().方法的方式指定返回值。
如果对象方法是void的形式的,需要使用doNothing().when形式
@Spy:实例化的对象会优先执行原有方法,如果有类似when return形式的就会得到指定结果。
在MybatisPlus中和@InjectMocks配合使用,便可实现拦截处理封装好的this.remove等类似方法
原文地址:https://www.cnblogs.com/hujiapeng/p/15624692.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- python第十四课--排序及自定义函数之案例一:选择排序
- python第十四课--排序及自定义函数之案例二:冒泡排序
- python第十四课--排序及自定义函数之自定义函数(案例一)
- python第十四课--排序及自定义函数之自定义函数(案例二)
- python第十四课--排序及自定义函数之自定义函数(案例三)
- python第十四课--排序及自定义函数之自定义函数(案例四)
- python第十四课--排序及自定义函数之自定义函数(案例五)
- python第十五课——全局变量and局部变量
- python第十六课——ascii码
- python第十六课——外部函数and内部函数
- python第十七课——列表生成式
- python第十八课——常用内置函数
- python第十九课——random模块中的常用函数
- python第二十课——math模块中常用的函数
- python第二十一课——str中的常用函数(重要)