Не удается смоделировать ответ JSON в Spring RestTemplate - PullRequest
0 голосов
/ 13 июня 2019

Я пытаюсь смоделировать строку в ответе 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()));

1 Ответ

0 голосов
/ 13 июня 2019

Сообщение об ошибке указывает на то, что вы используете какой-либо метод сопоставления мокито, такой как any(Object) или anyString(), за пределами фиктивного объекта.

Вам либо нужно смоделировать объект, в котором вы хотите использовать средство сопоставления (большую часть времени вы хотите смоделировать объекты, в которых вы, как правило, использовали параметры сопоставления, в первую очередь), либо вместо фиксатора сопоставить фиксированное значение.

Другая возможность для этого сообщения об ошибке будет, если вы попытаетесь смоделировать метод final.

Для более подробных ответов нам нужен ваш код.

Пожалуйста, дайте нам знать, если мы можем помочь вам или предоставить дополнительную информацию, чтобы помочь нам решить вашу проблему.

...