public class ServiceTest {
@Mock
RestTemplate restTemplate = new RestTemplate();
@InjectMocks
Service service = new Service();
ResponseEntity responseEntity = mock(ResponseEntity.class);
@Test
public void test() throws Exception {
Mockito.when(restTemplate.getForEntity(
Mockito.anyString(),
Matchers.any(Class.class)
))
.thenReturn(responseEntity);
boolean res = service.isEnabled("something");
Assert.assertEquals(res, false);
}
我試圖測試包括restclient在內的服務的簡單測試。它看起來我沒有成功地模擬RestTemplate
。它看起來像代碼獲取真實的數據而不是模擬的數據。任何人都可以幫助我。如何在Java Spring中模擬RestTemplate?
服務本身看起來這樣:
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;
}
}
我試過教程,但它不起作用。 http://stackoverflow.com/questions/37781982/mocking-a-rest-call-with-mockrestserviceserver – c2340878
https://github.com/jeffsheets/MockRestServiceServerExample –