如何使用Mockito从RestTemplate模拟交换方法解决Intellij IDEA警告?

时间:2018-07-03 12:22:56

标签: spring intellij-idea mockito warnings spring-rest

我在模仿以下RestTemplate方法:

ResponseEntity<List<SomeClass>> response = restTemplate.exchange(address, HttpMethod.POST, 
    requestHttpEntity, 
    new ParameterizedTypeReference<List<SomeClass>>() {});

使用以下代码:

RestTemplate restTemplate = mock(RestTemplate.class);
when(restTemplate.exchange(anyString(), eq(HttpMethod.POST), any(HttpEntity.class), 
    any(ParameterizedTypeReference.class)))
        .thenReturn(mock(ResponseEntity.class));

效果不错。但是Intellij IDEA在上面用三个不同的警告标记了此代码:

  

作为原始类型的成员未经选中的对'thenReturn(T)'的调用   'org.mockito.stubbing.OngoingStubbing'少...(Ctrl + F1)信号   编译器发出未经检查的警告的位置,用于   例如:

     

void f(HashMap地图){       map.put(“ key”,“ value”); }

并且:

  

未选中的作业:   'org.springframework.core.ParameterizedTypeReference'   'org.springframework.core.ParameterizedTypeReference'   较少...(Ctrl + F1)表示发出未经检查的警告的位置   由编译器提供,例如:

     

void f(HashMap地图){       map.put(“ key”,“ value”); }

并且:

  

未经检查的分配:“ org.springframework.http.ResponseEntity”   'org.springframework.http.ResponseEntity'少...   (Ctrl + F1)发出信号,指示由系统发出未经检查的警告   编译器,例如:

     

void f(HashMap地图){       map.put(“ key”,“ value”); }

我想知道如何解决这个小问题。对于最后一个,我尝试对ResponseEntity<List<SomeClass>>进行强制转换,但警告没有改变。

0 个答案:

没有答案