mockito+junit搞定单元测试

215 阅读1分钟

1. 单元测试的特点

  • 配合断言使用(杜绝System.out)
  • 可重复执行
  • 不依赖环境
  • 不会对数据产生影响
  • spring的上下文环境不是必须的
  • 一般都需要配合mock类框架来实现

名称: ito: input to output

官网: site.mockito.org

官网文档:javadoc.io/doc/org.moc…

2. 用法测试

方法插桩方法不插桩作用对象最佳实践
mock对象执行插桩逻辑返回mock对象的默认值类、接口被测试类或其依赖
spy对象执行插桩逻辑调用真实方法==类==、接口被测试类
  • 被@InjectMocks标注的属性必须是实现类,因为mockito会创建对应的实例对象,默认创建的对象就是 未经过mockito处理的普通对象,因此常配合@Spy注解使其变为默认调用真实方法的mock对象,被测试的类一般都需要标记这俩注解

  • mockito会使用spy对象或mock对象注入到@InjectMocks对应的实例对象中