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 –