如何使用MockMvc

时间:2019-05-16 13:13:49

标签: java spring spring-boot request

有自定义验证器时,有什么方法可以测试我的请求标头?

这是我的控制器方法:

@GetMapping(value = "/test")
public String test(@RequestHeader("Authorization") @CustomValidation String token) {
    return "test";
}

在编写测试时,如果我没有通过任何参数,则测试没有问题,并且得到了预期的Bad Request状态代码:

    @Test
public void testHeaders() throws Exception {
    RequestBuilder builder = MockMvcRequestBuilders.post("/test");
    MvcResult result = mockMvc.perform(builder).andReturn();

    assertEquals(result.getResponse().getStatus(), 400);
}

问题是,如果我为请求标头传递了一个不应验证的值,则实际上不会执行验证,它会向我返回状态代码SUCCESS。有什么办法可以使它在测试中执行验证,就像正常启动应用程序时一样。

0 个答案:

没有答案