1.单元测试
1.1 单元测试的特点
 ●配合断言使用(杜绝System.out)
 ●可重复执行
 。不依赖环境
 ●不会对数据产生影响
 ●spring的上下文环境不是必须的
 ●一般都需要配合mock类框架来实现
 
 1.2 mock类框架使用场景
 
 要进行测试的方法存在外部依赖(如db,redis,第三方接口调用等),为了能够专注于对该方法单元)的逻辑进行测试,就希望能虚拟出外部依赖,避免外部依赖成为测试的阻塞项,一般都是测试service层即可。
 
 1.3常用mock类框架
 
 mock类框架:用于mock外部依赖
 
 1.3.1 mockito
 
 名称:ito:input to output
 官网: https://site.mockito.org
 官网文档:https://javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html
 限制:老版本对于final class、final method、static method、private method均不能被mockito mock,目前已支持fmar ciass、final method、static method的mock,具体可以参考官网
 
原理:bytebuddy,教程:https://www.bilibili.com/video/BV1G24y1a7bd
 1.3.2 easymock
 
 1.3.3 powermock
 
 官网:https://github.com/powermock/powermock
 与mockito的版本支持关系:https://gitee.com/mirrors/powermock/wikis/Mockito#supported-versions
 对mockito或easymock的增强
 1.3.4jMockit
 
 二、mockito的单独使用
 
 2.1 mock对象与spy对象
 

2.2初始化mock/spy对象的方式





2.3参数匹配


拦截类型的任意对象 : modifyById(ArgumentMatchers.any(类.class))
测试校验



















