@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
。任何人都可以讓我知道我沒有做對的地方。如何用MockRestServiceServer模擬RestTemplet?
服務本身看起來這樣:
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