Mockito.doReturn(responseEntity).when(restTemplate.exchange(anyString(), anyObject(), anyObject(), anyObject()));
GetRelationshipInfoResponse relationship = getEntity();
ResponseEntity<GetRelationshipInfoResponse> responseEntity = new ResponseEntity<GetRelationshipInfoResponse>(relationship,
HttpStatus.ACCEPTED);
Mockito.doReturn(responseEntity).when(restTemplate.exchange(anyString(), Matchers.eq(HttpMethod.POST),
Matchers.<HttpEntity<?>> any(), Matchers.<Class<Object>> any()));
我现在在运行时看到MethodInterceptorFilter
.Intercept正在获得null对象值。
有人能建议我怎么修理吗。
我以前常犯这样的错误。我想出了一个更可靠的解决办法。我也提到了对我有效的导入语句。下面的代码完全模仿了rest模板。
import org.mockito.Matchers;
import static org.mockito.Matchers.any;
import org.springframework.http.HttpHeaders;
import org.springframework.http.ResponseEntity;
这是要模拟的实际模板。
HttpHeaders headers = new Headers();
headers.setExpires(10000L);
ResponseEntity<String> responseEntity = new ResponseEntity<>("dummyString", headers, HttpStatus.OK);
when(restTemplate.exchange( Matchers.anyString(),
Matchers.any(HttpMethod.class),
Matchers.<HttpEntity<?>> any(),
Matchers.<Class<String>> any())).thenReturn(responseEntity);
在这里,'response entity'值将不是null,我们可以使用它来完美地断言一个语句。
我的要求是测试这段代码,更重要的是测试序列化器,因此,给出一个JSON片段,我如何测试所有的值都正确地通过商人的实例。 我不知道RestTemplate使用哪个序列化器将JSON序列化为对象。
它返回null,而不是预期的客户端,对象类的工作正常。我只想写测试。我是漏掉了什么还是做错了测试?谢谢你的指导。
问题内容: 我有MockRestServiceServer来模拟服务中的restTemplete。但是它总是失败。它显示错误为。任何人都可以让我知道我在哪里做错了。 服务本身将如下所示: 问题答案: 首先,您的类会在每个请求上创建一个RestTemplate的新实例。我不能足够强调这种不良做法。创建一个类型为RestTemplate的bean并将其注入到您的bean中(它很可能已经创建- 取决于您
我尝试对一个包含restclient的服务进行一个简单的测试。看来我没有成功地模仿。看起来代码得到的是真实数据,而不是模拟数据。任何人都可以帮我。 服务本身将如下所示:
我尝试了很多方法来模拟restTemboard交换,但模拟没有发生,实际的交换不断调用并给我url无效异常。 我的CallRestService方法如下 我的模拟如下: 我还尝试返回已注释的响应实体。但每次都会有例外。 我对mocking的理解是,不会调用实际的exchange方法,那么我如何获得resttemplate exchange异常。 如果需要任何输入,请评论。 谢谢你的支持。 更新:我
我有一项服务,我需要通过rest向外部服务器询问一些信息: 如何为getListofObjectsA()编写JUnit测试? 我尝试了以下方法: 然而,上面的代码不起作用,它表明为。如何更正测试以正确模拟restTemplate。交换?