将模型属性添加到 spring MockMvc 调用
Adding model attribute to spring MockMvc call
我正在为一个简单的控制器编写测试。
控制器检查模型属性"ADDED_OBJECT"是否存在,当模型属性缺失时returns一个成功页面和一个错误页面。
测试错误路径没问题,但我不知道如何触发成功路径,通常在成功 POST (Post/Redirect/Get) 模式后执行。
是否可以将模型属性添加到 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"))
通过这种方式,您可以控制传递给控制器中模型对象的内容,并相应地为各种用例设计测试。
我正在为一个简单的控制器编写测试。
控制器检查模型属性"ADDED_OBJECT"是否存在,当模型属性缺失时returns一个成功页面和一个错误页面。 测试错误路径没问题,但我不知道如何触发成功路径,通常在成功 POST (Post/Redirect/Get) 模式后执行。 是否可以将模型属性添加到 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"))
通过这种方式,您可以控制传递给控制器中模型对象的内容,并相应地为各种用例设计测试。