Spring-mvc + MockMvc + junit результат 200, но должен быть 404

Я использую Spring-Framework Framework версии 3.2.1.RELEASE и, в частности, объект MockMvc для тестирования моих контроллеров.

Проблема, однако, заключается в том, что когда объект MockMvc выполняет исполнение на несуществующей html-странице, он возвращает статус 200, но мой браузер отображает статус 404, что является правильным, поскольку страница не существует. Как я могу проверить статус 404? (так как это статус, который я ожидаю)

@Test
public void testInvalidUrl() throws Exception {
    mockMvc.perform(get("/invalidJSPFileName.html"))
            .andExpect(status().isNotFound())
            .andExpect(forwardedUrl("/WEB-INF/jsp/invalidJSPFileName.jsp"));
}

Контроллер тестового случая:

@Controller
@RequestMapping("/")
public class IndexController {
    @RequestMapping("*.html")
    public void showIndex(){

    }
}

Резольвер:

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
    <property name="prefix" value="/WEB-INF/jsp/" />
    <property name="suffix" value=".jsp" />
</bean>

Справочник:

WEB-INF
    jsp
        index.jsp

1 ответ

Ваш контроллер принимает все с суффиксом.html

@RequestMapping ("*. HTML")

Итак, ваш запрос должен быть найден.

Другие вопросы по тегам