Spring Boot Mock
所谓的mock就是创建一个类的虚假的对象,在测试环境中,用来替换掉真实的对象,以达到两大目的:
- 验证这个对象的某些方法的调用情况,调用了多少次,参数是什么等等
- 指定这个对象的某些方法的行为,返回特定的值,或者是执行特定的动作
环境
jdk11、junit5
Mock有返回值
@SpringBootTest
class MockTest {
@Mock
private TestDao dao;
@InjectMocks
private TestService service;
@Test
void tt() {
Mockito.when(dao.sout()) //需Mock方法
.thenReturn("aa"); //期望返回值
String sout = service.sout();
Assertions.assertNotNull(sout);
}
@Service
public static class TestService {
@Resource
private TestDao testDao;
public String sout() {
System.out.println("service");
return testDao.sout();
}
}
@Component
public static class Test