gpt4 book ai didi

java - 无法在 Spring RestTemplate 中模拟 JSON 响应

转载 作者:行者123 更新时间:2023-12-02 04:32:34 24 4
gpt4 key购买 nike

我正在尝试模拟 RestTemplate 响应中的字符串,但我在代码中遇到以下错误。请提供意见。

错误:

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: 
Misplaced argument matcher detected here:

You cannot use argument matchers outside of verification or stubbing.
Examples of correct usage of argument matchers:
when(mock.get(anyInt())).thenReturn(null);
doThrow(new RuntimeException()).when(mock).someVoidMethod(anyObject());
verify(mock).someMethod(contains("foo"))

Also, this error might show up because you use argument matchers with methods that cannot be mocked.
Following methods *cannot* be stubbed/verified: final/private/equals()/hashCode().
Mocking methods declared on non-public parent classes is not supported.

上述错误发生在这一行:

以下代码行错误:

    when(this.userProfileClientRestTemplateProvider.currentUserProfileWithPermissionsRestTemplate()
.exchange(
any(RequestEntity.class),eq(String.class))) .thenReturn(mockResponseEntityFromFile("com/cnanational/dealerplanadmin/service/applyRuleSetsToDealer/user-permissions.json",
String.class, ResponseEntity.ok()));

最佳答案

错误消息表明您在模拟对象之外使用了一些mockito匹配器,例如any(Object)anyString()

您要么必须模拟要在其中使用匹配器的对象(大多数时候您想要模拟首先倾向于使用匹配器参数的对象),要么放置一个固定值而不是匹配器。

出现此错误消息的另一种可能性是,如果您尝试模拟 final 方法。

要获得更详细的答案,我们需要查看您的代码。

如果我们可以帮助您或提供更多信息来帮助我们解决您的问题,请告知我们。

关于java - 无法在 Spring RestTemplate 中模拟 JSON 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56573173/

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