Есть ли другой способ поставить параметр MockMVC? - PullRequest
0 голосов
/ 02 ноября 2018

В настоящее время я тестирую конечные точки API, используя Spring MockMvc и junit. Он просто отлично работает со следующим кодом.

    public void testGetMethod(String url, String locale, String empKey, String accessToken) throws Exception {
    mockMvc.perform(get(url).param("locale", locale).param("empKey", empKey).param("accessToken", accessToken))
           .andDo(print())
           .andExpect(status().isOk());
}

Но дело в том, когда я пытаюсь изменить этот код следующим образом (для настройки параметров с помощью файла .properties позже), Я получаю код 400 с сообщением "Обязательный параметр строки 'locale' отсутствует".

    public void testGetMethod_param(String url, String locale, String empKey, String accessToken) throws Exception {
    MultiValueMap<String, Object> paraMap =new LinkedMultiValueMap<>();
    paraMap.add("locale", locale);
    paraMap.add("empKey", empKey);
    paraMap.add("accessToken", accessToken);
    mockMvc.perform(get(url))
    .andDo(print())
    .andExpect(status().isOk());
}

Кто-нибудь может указать, что я здесь не так делаю?

1 Ответ

0 голосов
/ 02 ноября 2018

Вам нужно добавить paraMap в запрос на получение.

 mockMvc.perform(get(url).params(paraMap))
    .andDo(print())
    .andExpect(status().isOk());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...