gpt4 book ai didi

java - Mockito Java 8 参数匹配器 any(Class )

转载 作者:行者123 更新时间:2023-11-30 06:19:40 25 4
gpt4 key购买 nike

我需要将类传递给参数匹配器。这是我正在做的事情,我的匹配应该返回对象 apiResponse ,它不为空,因为我正在创建它并传递它。但是,它似乎并没有注入(inject)它;我收到它为空。

我也尝试过 ArgumentMatchers.eq(ApiResponse.class)、Mockito.eq(ApiResponse.class)、ArgumentMatchers.any(ApiResponse.class) 和 Mockito.any(ApiResponse.class)。

使用 ArgumentMatchers.any(ApiResponse.class) 和 Mockito.any(ApiResponse.class),代码甚至无法编译,使用 ArgumentMatchers.eq(ApiResponse.class)、Mockito.eq(ApiResponse.class),我在另一边收到 null 。请推荐!

      ApiResponse apiResponse = new ApiResponse();
apiResponse.setErrcode("0");
apiResponse.setNum_fields_changed("1");
Mockito.when(xmlResponseMapper.parseXMLToObject(any(String.class),ArgumentMatchers.eq(ApiResponse.class))).thenReturn((apiResponse));

这是我在类里面使用这个匹配器的地方

  apiResponse = xmlResponseMapper.parseXMLToObject(response.getBody(), ApiResponse.class);

我做错了什么吗?我正在使用 Java 8。

最佳答案

已经解决了。问题实际上不在于 ArgumentMatchers.eq(ApiResponse.class) ,而在于字符串,第一个参数在匹配器中传递

  Mockito.when(xmlResponseMapper.parseXMLToObject(any(String.class),ArgumentMatchers.eq(ApiResponse.class))).thenReturn((apiResponse));

我将 null 作为第一个参数传递。一旦我传递了一个虚拟字符串,一切都很顺利,我在另一端收到了 apiResponse。

关于java - Mockito Java 8 参数匹配器 any(Class <T>),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48436231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com