mockito 整理
引入mockito
- 使用springboot test 时会自动导入mockito -core
- 使用maven
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.10.19</version>
<scope>test</scope>
</dependency>
- 使用时 mokito可以作为静态字段导入
测试对象行为
可以测试对象方法是否执行,以及执行了多少次
- 创建mock对象 ,可以使用类似authwire的方式,在接口上添加@Mock 注解,不过此种方式需要在方法执行前执行
MockitoAnnotations.initMocks(this);
语句;或者直接Mockito.mock(class) - 使用verify 方法 如
verify(mock 对象名).add(1);
其后添加具体想要测试的方法
模拟方法 接口的返回值
- 使用mock 模拟接口对象(未静态导入时要加mockito前缀)
- stub ,使用 when(对象.方阀(参数)).thenReturn(“模拟值”)的方式为对象设置预想值
- 直接调用对象的对应方法即可,参数要对应,否则会返回空或者基本类型的默认值
测试一个方法中的部分代码逻辑
- 方法中调用到的其他对象全部mock
- 方法中所涉及到的对象(静态 以及非 静态)的方法全部打桩stub,预设返回值,
- 执行方法即可