1. 单元测试的特点
- 配合断言使用(杜绝System.out)
- 可重复执行
- 不依赖环境
- 不会对数据产生影响
- spring的上下文环境不是必须的
- 一般都需要配合mock类框架来实现
名称: ito: input to output
官网: site.mockito.org
2. 用法测试
| 方法插桩 | 方法不插桩 | 作用对象 | 最佳实践 | |
|---|---|---|---|---|
| mock对象 | 执行插桩逻辑 | 返回mock对象的默认值 | 类、接口 | 被测试类或其依赖 |
| spy对象 | 执行插桩逻辑 | 调用真实方法 | ==类==、接口 | 被测试类 |
-
被@InjectMocks标注的属性必须是实现类,因为mockito会创建对应的实例对象,默认创建的对象就是 未经过mockito处理的普通对象,因此常配合@Spy注解使其变为默认调用真实方法的mock对象,被测试的类一般都需要标记这俩注解
-
mockito会使用spy对象或mock对象注入到@InjectMocks对应的实例对象中