参数化Java类的Junit测试用例,请求将发送到第三方端点

参数化Java类的Junit测试用例,请求将发送到第三方端点,java,junit,parameter-passing,code-coverage,Java,Junit,Parameter Passing,Code Coverage,我有一个java类SendRequest.java,它有以下方法 public class SendRequest implements Transformer { public Document transform(Document xmlToTransform, Map<String, Object> parameters, String script) { -- Create connection to third party -- Create th

我有一个java类SendRequest.java,它有以下方法

public class SendRequest implements Transformer {

public Document transform(Document xmlToTransform,
            Map<String, Object> parameters, String script) {
-- Create connection to third party
-- Create the payload request to be sent
-- Send the request to third party
-- Fetch the response from third party
-- Depending on the status code returned return either the success or error response

}

有没有办法模拟类调用,即不向第三方服务发送请求,而只是接收请求并继续执行代码?

我们需要模拟向第三方API发送请求的
方法,例如,如果使用
RestTemplate
,则可以执行以下操作:

@Mock
protected RestTemplate restTemplate;

ResponseEntity<Map<String, Object>> responseEntity = new ResponseEntity<Map<String,Object>>(body, HttpStatus.OK);
responseEntity.getBody().putAll(<sample response body>);
Mockito.when(restTemplate.exchange(Mockito.any(String.class), Mockito.any(HttpMethod.class), 
        Mockito.any(HttpEntity.class), Mockito.any(ParameterizedTypeReference.class))).thenReturn(responseEntity);
@Mock
受保护的RestTemplate RestTemplate;
ResponseEntity ResponseEntity=新的ResponseEntity(body,HttpStatus.OK);
responseEntity.getBody().putAll();
when(restemplate.exchange(Mockito.any(String.class)、Mockito.any(HttpMethod.class)),
Mockito.any(HttpEntity.class),Mockito.any(ParameteredTypeReference.class)),然后返回(responseEntity);
如果您的类使用
restemplate.exchange()
,则此示例有效。类似地,您可以模拟相应控制器类的方法

@Mock
protected RestTemplate restTemplate;

ResponseEntity<Map<String, Object>> responseEntity = new ResponseEntity<Map<String,Object>>(body, HttpStatus.OK);
responseEntity.getBody().putAll(<sample response body>);
Mockito.when(restTemplate.exchange(Mockito.any(String.class), Mockito.any(HttpMethod.class), 
        Mockito.any(HttpEntity.class), Mockito.any(ParameterizedTypeReference.class))).thenReturn(responseEntity);