@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);
}
}
Ich habe MockRestServiceServer zu mock restTemplete in einem Dienst. Aber es scheitert immer. Es zeigt den Fehler java.lang.AssertionError: Further request(s) expected 0 out of 1 were executed
an. Jeder könnte mich wissen lassen, wo ich es nicht richtig gemacht habe.Wie verspottete RestTemplet mit MockRestServiceServer?
Der Service selbst wird sieht wie folgt aus:
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;
}
}
Ich nehme an, dass dein Kommentar der richtige ist, obwohl ich nicht sicher bin, wie ich mein Problem beheben kann. Wenn ich keine restTemplate-Bean erstellen kann. Gibt es noch etwas, was ich tun kann, um einen Rest zu verspotten? und eigentlich muss ich nur die Antwort eines Anrufs verspotten. Gibt es das überhaupt, um das zu tun? – c2340878