单元测试学习笔记(1)----常见单测API

405 阅读1分钟

1. @Mock

可以使用@Mock注解来mock对象(bean)
对应import:

import org.mockito.Mock;

2. given来设置返回值

对应import:

import static org.mockito.BDDMockito.given;

用法:使用given可以的对mock出来对象设置只方法执行的返回值 参考网址:

https://javadoc.io/static/org.mockito/mockito-core/3.2.4/org/mockito/BDDMockito.html

使用示例:

given(seller.askForBread()).willReturn(new Bread());

3. verify来验证方法被执行的次数

对应import

import static org.mockito.Matchers.anyObject;
import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;

参考网址:

https://www.baeldung.com/mockito-verify

示例:

verify(rabbitMqProduceService, times(1))
            .publish(eq(""), eq(messageProperties.getReplyTo()), anyObject());

含义:(1)rabbitMqProduceService.publish(, , )方法会被执行;
(2)且第一个参数为"",第二个参数为。。。,第三个参数为任意对象

4. ReflectionTestUtils获取和修改对象属性值

以修改对象属性值为例,三个参数分别是对象、属性名、值

ReflectionTestUtils.setField(employee, "id", 1);

参考网址:

https://www.baeldung.com/spring-reflection-test-utils