Как макетировать заголовки запросов в Java - PullRequest
0 голосов
/ 10 октября 2019

Это пример кода, который я написал

    String bearerToken="Bearer "+ token; 
    HttpClient client = HttpClientBuilder.create().build(); 
    request.addHeader("Authorization",bearerToken); 
    request.addHeader("cache-control", "no-cache"); 
    HttpResponse response=client.execute(request); 
    System.out.println("Response Code:" + response.getStatusLine().getStatusCode());

Как я могу издеваться над этими заголовками запросов в Java? Как мне издеваться над авторизацией и ответом?

1 Ответ

2 голосов
/ 12 октября 2019

В вашем классе юнит-теста вам нужно смоделировать клиента:

@Mock
private HttpClient client;

Затем вы указываете mockito в методе @Before, чтобы он действительно создавал ваши макеты с помощью

MockitoAnnotations.initMocks(YourTestClass);

Затем в вашем тестеметод, вы можете смоделировать то, что метод execute () должен возвращать:

Mockito.when(client.execute(any()/* or wahtever you want here */)).thenReturn(your json object);

Рекомендуется больше насмехаться над вашим HttpClient, потому что может быть несколько раз, когда вы делаете реальный вызов остальному API после насмешки над вашими заголовками. API может возвращать нежелательный ответ [когда служба отключена или перезапускается].

Но если вы все еще хотите смоделировать приватное поле, вы можете сделать это, используя

ReflectionUtils.setField()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...