Я получил службу REST-запросов для отправки GET-запросов на внешние API.Этот класс является следующим.Всякий раз, когда я пытаюсь запустить тест, чтобы проверить, успешен ли запрос, я получаю следующую ошибку:
Ожидается дальнейший запрос, оставляя 1 неудовлетворенное ожидание (я).0 выполнено запросов
Кто-нибудь получил представление о том, что происходит или как улучшить этот тест?
@Slf4j
@Service
public class APIrequestService {
@Autowired
RestTemplate restTemplate;
@Async
public String request(int id, String url, String endpoint) {
String fullUrl = url + endpoint;
log.debug(fullUrl);
String idVar = Integer.toString(id);
log.debug("Studentid");
try{
return restTemplate.getForObject(fullUrl, String.class, idVar);
}
catch (HttpClientErrorException | HttpServerErrorException httpClientOrServerExc) {
if (HttpStatus.NOT_FOUND.equals(httpClientOrServerExc.getStatusCode())) {
return "Student not found in system";
}
return "Not known error";
}
}
@Bean
public RestTemplate restTemplate(RestTemplateBuilder restTemplateBuilder) {
return restTemplateBuilder.build();
}
}
Мой тест - следующий класс:
RunWith(SpringRunner.class)
public class APIRequestServiceTest {
@TestConfiguration
static class RequestServiceContextConfiguration {
@Bean
@Qualifier("TestService")
public APIrequestService apiRequestService() {
return new APIrequestService();
}
}
@Qualifier("TestService")
@Autowired
APIrequestService apIrequestService;
@MockBean
private RestTemplate restTemplate;
private MockRestServiceServer mockRestServiceServer;
@Before
public void setUp() {
RestGatewaySupport gatewaySupport = new RestGatewaySupport();
gatewaySupport.setRestTemplate(restTemplate);
mockRestServiceServer = MockRestServiceServer.createServer(gatewaySupport);
}
@Test
public void testGetResponseWhenRequest() {
mockRestServiceServer.expect(once(), requestTo("https://my-json-server.typicode.com/tijn167/fakejsonapi/student/2102241"))
.andRespond(withSuccess("", MediaType.APPLICATION_JSON));
String result = apIrequestService.request(2102241, "https://my-json-server.typicode.com/tijn167/fakejsonapi", "/student" );
System.out.println(result);
mockRestServiceServer.verify();
assertEquals("{student: 210221}", result);
}