Java Mockito未存根,错误:需要但未调用

Java Mockito未存根,错误:需要但未调用,java,unit-testing,mockito,junit5,Java,Unit Testing,Mockito,Junit5,我刚刚开始学习测试,并决定从JUnit5 Jupiter和Mockito开始 我试图使用Mockito编写测试用例,但测试失败,出现错误需要但未调用: 我已经尝试了所有可能的注入模拟对象的方法 模拟扩展 Mockito注释#openMocks Mockito#mock @Test中的verify() 代码如下: @ExtendWith(MockitoExtension.class) 公共类UserInfoServiceTest{ @嘲弄 私有用户信息存储用户信息存储; @注射模拟 私有

我刚刚开始学习测试,并决定从JUnit5 Jupiter和Mockito开始

我试图使用Mockito编写测试用例,但测试失败,出现错误需要但未调用:

我已经尝试了所有可能的注入模拟对象的方法

  • 模拟扩展

  • Mockito注释#openMocks

  • Mockito#mock

@Test
中的
verify()

代码如下:

@ExtendWith(MockitoExtension.class)
公共类UserInfoServiceTest{
@嘲弄
私有用户信息存储用户信息存储;
@注射模拟
私有用户信息服务impl用户信息服务;
@试验
public void shouldReturnUserInfo\u whenIsGiven()引发异常{
可选userInfo=Optional.of(userInfo.builder().email(“xyz@abc.com);
当(userInfoRepository.getUserInfoById(1L)).thenReturn(userInfo);
验证(userInfoRepository).getUserInfoById(1L);
assertEquals(userInfo,userInfoService.getUserInfo(1L));
}
}
在参考其他类似的SO问题时,我了解到编写测试用例的主要类不应该被嘲笑,据我所知,我不会在这里重复这个错误


请告诉我需要做哪些更改

您没有呼叫您的
用户信息服务
。您应该在验证之前执行此操作:

@测试
public void shouldReturnUserInfo\u whenIsGiven()引发异常{
可选userInfo=Optional.of(userInfo.builder().email(“xyz@abc.com);
当(userInfoRepository.getUserInfoById(1L)).thenReturn(userInfo);
UserInfo result=userInfoService.getUserInfo(1L);
验证(userInfoRepository).getUserInfoById(1L);
assertEquals(用户信息、结果);
}

您没有呼叫您的
用户信息服务
。您应该在验证之前执行此操作:

@测试
public void shouldReturnUserInfo\u whenIsGiven()引发异常{
可选userInfo=Optional.of(userInfo.builder().email(“xyz@abc.com);
当(userInfoRepository.getUserInfoById(1L)).thenReturn(userInfo);
UserInfo result=userInfoService.getUserInfo(1L);
验证(userInfoRepository).getUserInfoById(1L);
assertEquals(用户信息、结果);
}