[英]Mocked rest template exchange method returning null
我正在尝试模拟来自 rest 模板的交换呼叫,但由于某种原因,我从呼叫而不是我在测试中指定的响应实体得到 null 响应。 注意 - 在我的服务接口上添加 injectMocks 之前,rest 模板试图进行实际调用,当我添加它时,它会进行模拟调用,但结果是 null。
@ActiveProfiles("unit-test")
@RunWith(SpringJUnit4ClassRunner.class)
@Category({ UnitTests.class })
@SpringBootTest@Import({PropertiesTestConfiguration.class})
public class MyTest {
@Mock
OAuth2RestTemplate serviceRestTemplate;
@Autowired
@InjectMocks
ServiceInterface serviceInterface;
@Test
public void getServiceResponse_Success() {
ResponseEntity<String> mockResponseEntity = new ResponseEntity<String>(mockResponseBody, HttpStatus.OK);
String url = "https://unit_test_/XXX";
UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(url);
Mockito.when(serviceRestTemplate.exchange( Matchers.anyObject(), Matchers.any(HttpMethod.class), Matchers.<HttpEntity> any(), Matchers.<Class<String>> any()) ).thenReturn(mockResponseEntity);
ServiceInterface.getClaimByClaimId(XXX);
}
}
在我正在测试的方法中,这将返回 null
responseEntity = serviceRestTemplate.exchange(uriBuilder.toUriString(),
method, requestEntity, String.class);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.