Как опубликовать String Array с помощью MockMvc? - PullRequest
0 голосов
/ 29 июня 2019


В настоящее время я работаю над проектом Spring и хочу написать несколько тестов.К сожалению, я не знаю, как передать требуемый массив.
Запрос на получение работает нормально ... Вот мой код:

MainControllerTest.java

private MockMvc mockMvc;

@InjectMocks
private MainController controller;

@Before
public void setUp() throws Exception {
    mockMvc = MockMvcBuilders.standaloneSetup(controller)
            .build();
}

@Test
public void resetAll() throws Exception {

    String[] players = new String[] {"Player 1", "Player 2"};

    mockMvc.perform(
            MockMvcRequestBuilders.get("http://localhost:8443/api/reset")
    )
            .andExpect(MockMvcResultMatchers.status().isOk())
            .andExpect(MockMvcResultMatchers.content().string("false"));


    mockMvc.perform(
            MockMvcRequestBuilders.post("http://localhost:8443/api/player").content(players)
    ); 
}


MainController.java

@PostMapping("/player")
public void setPlayersList(@RequestBody String[] players) {
    for(int i = 0; i<players.length; i++) {
        playersList.add(players[i]);
    }
    System.out.println(Arrays.toString(playersList.toArray()));
}


Спасибо за вашу помощь!

...