Не найдено сопоставление для HTTP-запроса с URI [] в DispatcherServlet с именем '' - PullRequest
0 голосов
/ 11 апреля 2019

Я исправил свой тест так:

@SpringBootTest
@WebAppConfiguration
@ContextConfiguration(classes = {CoreTestSpringConfiguration.class})
@RunWith(SpringRunner.class)

public class NewStudentTest {


    @Autowired
    protected WebApplicationContext wac;
    protected MockMvc mockMvc;



    @MockBean
    SaveStudentCommand saveStudentCommand;


    @Before
    public void setupMockMvc() {
        mockMvc = MockMvcBuilders
                .webAppContextSetup(wac)
                .build();
    }


    @Test
    public void createStudentTest() throws Exception {

        String jsonLineTest = "[{username:\"532g326\"} ,{name:\"Franco\"} ,{username:\"432ih4j\"} ,{name:\"Ciccio\"} ]";

        Student s1 = new Student();
        Student s2 = new Student();
        List<Student> students = new ArrayList<>();

        ((Student) s1).setUsername("532g326");
        ((Student) s1).setName("Franco");
        ((Student) s2).setUsername("432ih4j");
        ((Student) s2).setName("Ciccio");

        students.add(s1);
        students.add(s2);


        when(saveStudentCommand.execute()).thenReturn(jsonLineTest);


        MvcResult result=mockMvc.perform(post("/credentials/student")
                .accept(MediaType.APPLICATION_JSON).accept(MediaType.APPLICATION_JSON).content(jsonLineTest))
                .andDo(print())
                .andExpect(status().isOk())   
                .andReturn();

        String content=result.getResponse().getContentAsString();



    }  


}

и теперь, согласно этой новой конфигурации, тест не пройден, показывая: java.lang.AssertionError: Ожидаемый статус: <200>, но был <404>.

Полагаю, этот ответ вызван той же проблемой, что и в консоли:

Не найдено сопоставление для HTTP-запроса с URI [/ credentials / student] в DispatcherServlet с именем '';

Я не могу понять последнее сообщение выше. Какой DispatcherServlet не может быть найден? Как я могу решить эту проблему? Спасибо заранее

1 Ответ

0 голосов
/ 11 апреля 2019

На страницах Spring.io Getting Started для тестовых запросов есть довольно хорошее руководство. , если вы только начинаете изучать Spring, я бы начал здесь, если вы проводите свои тесты.

Он проходит пошаговый процесс создания полного набора тестов для HTTP-запросов и должен помочь вам.(Они вводят MockMvc на полпути через руководство и используют аннотацию @AutoConfigureMockMvc вместо выполнения какой-либо настройки самостоятельно)

...