gpt4 book ai didi

spring - 将模型属性添加到 spring MockMvc 调用

转载 作者:行者123 更新时间:2023-11-28 20:22:10 26 4
gpt4 key购买 nike

我正在为一个简单的 Controller 编写测试。

Controller 检查模型属性“ADDED_OBJECT”是否存在,并在缺少模型属性时返回成功页面和错误页面。测试错误路径没问题,但我不知道如何触发成功路径,它通常在成功的 POST (Post/Redirect/Get) 模式后执行。是否可以将模型属性添加到 mockMvc 调用中?

Controller :

@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"))

通过这种方式,您可以控制传递给 Controller ​​中的模型对象的内容,并相应地为各种用例设计测试。

关于spring - 将模型属性添加到 spring MockMvc 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48304767/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com