进行一些挖掘之后,我发现该HTTPRequestAdapter.parseRequest()
方法与mockmvc发送请求的方式有关。具体来说,由mockmvc发送的请求在请求中的名称中不包含标头host
。
HTTPRequestAdapter
需要该标头,并且不考虑它可以为null的事实,因此它生成NullPointerException
。
mockmvc.perform(get("/validation-success")
.header("host", "localhost:80"))
.andExpect(status().isOk());
该host
头将不为空,你的测试应该通过。