小编Sti*_*ive的帖子

如何使用泛型类型模拟 ResponseEntity<?> ?

我需要模拟一项服务。我ResponseEntity<?>在嘲笑班级时得到了空值。

需要mock的方法:

public List<Expression> getExpression(String expressView, Localdate date) {

    List<Expression> =new ArrayList<>();
    Map<String, Object> uri = new HashMap<>();
    UriComponenetsBuilder build = 
        UriComponentsBuilder.fromHttpUrl("someUrl" + "/" + expressView);
    build.queryParam(someParameter, someParameter);
    build.queryParam(someParameter, someParameter);
    build.queryParam(someParameter, someParameter);

    HttpHeaders header = new HttpHeaders();
    header.setContentType(MediaType.APPLICATION_JSON);
    RestClient client = new RestClient(
        build.build().encode.toUriString, HttpMethod.GET.Uri, header
    );

    ResponseEntity<?> resp = restC.SomeMethod(client);

    if (resp = !null) {
        //it goes to these line
    }

  }
Run Code Online (Sandbox Code Playgroud)

在我的模拟方法中:

when(restC.SomeMethod(client)).thenReturn(resp);
Run Code Online (Sandbox Code Playgroud)

因此,上述方法调用服务获取一些数据,获取expressView的值并将其保存为列表。当我模拟该方法时,when(restC.SomeMethod(client)).thenReturn(resp);它命中了 URL,但我得到的响应值resp是 null 。所以我在这里得到的resp值为null。我检查了邮递员中的 URL(someUrl) …

java junit web-services mockito spring-boot

8
推荐指数
1
解决办法
5万
查看次数

标签 统计

java ×1

junit ×1

mockito ×1

spring-boot ×1

web-services ×1