有自定义验证器时,有什么方法可以测试我的请求标头?
这是我的控制器方法:
@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。有什么办法可以使它在测试中执行验证,就像正常启动应用程序时一样。