@RunWith(MockitoJUnitRunner.class)
public class FeatureFlipperManagerTest {
@Autowired
RestTemplate restTemplate = new RestTemplate();
@Autowired
Service service = new Service();
MockRestServiceServer mockServer = MockRestServiceServer.createServer(restTemplate);
@Test
public void test() throws Exception {
mockServer.expect(requestTo(Mockito.anyString()))
.andRespond(withSuccess("{\"enabled\":true}", MediaType.APPLICATION_JSON));
boolean res = service.isEnabled("xxx");
mockServer.verify();
Assert.assertEquals(true, res);
}
}
У меня есть MockRestServiceServer, чтобы имитировать restTemplete в службе. Но это всегда терпит неудачу. он показывает ошибку как java.lang.AssertionError: Further request(s) expected 0 out of 1 were executed
. Любой мог сообщить мне, где я не делал этого правильно.Как издеваться над RestTemplet с MockRestServiceServer?
Сам сервис будет выглядит как это:
public class Service{
public boolean isEnabled(String xxx) {
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<String> response = restTemplate.getForEntity("someurl",String.class);
if(...)return true;
return false;
}
}
Я полагаю, что ваш комментарий правильный, хотя я не уверен, как исправить мою проблему. Если я не могу создать restTemplate bean. Есть ли что-нибудь, что я могу сделать, чтобы высмеивать restTemplete? и на самом деле мне просто нужно высмеять ответ на звонок. Есть какой-либо способ сделать это? – c2340878