[英]Adding model attribute to spring MockMvc call
我正在为一个简单的控制器编写测试。
控制器检查是否存在模型属性“ ADDED_OBJECT”,并在缺少模型属性时返回成功页面和错误页面。 测试错误路径是没有问题的,但是我不知道如何触发成功路径,通常在成功的POST(发布/重定向/获取)模式之后执行该成功路径。 是否可以将modelattribute添加到mockMvc调用中?
控制器:
@GetMapping("/added")
public String addedContract(Model model) {
if (!model.containsAttribute(ADDED_OBJECT)) {
return ERROR_400;
}
return "added";
}
测试:
@Test
public void added() throws Exception {
mockMvc.perform(get("/added"))
.andExpect(status().isOk())
.andExpect(content().string(not(containsString("400"))));
}
谢谢
最简单的方法是像这样设置flashAttribute
mockMvc.perform(get("/added").flashAttr("ADDED_OBJECT", "SomeObject"))
这样,您可以控制将哪些内容传递给控制器中的模型对象,并相应地针对各种用例设计测试。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.