- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有那个 Controller
@GetMapping("/popular")
public List<User> getPopularUsers() {
return handler.getPopularUsers();
}
并对其进行正确的集成测试:
mockMvc.perform(get("/popular"))
.andExpect(status().isOk())
.andExpect(jsonPath("[0].userId").value(372152))
.andExpect(jsonPath("[1].userId").value(398729));
现在我更改了 Controller ,它返回 ModelAndView 而不是 List:
@GetMapping("/popular")
public ModelAndView getPopularUsers(Map<String, Object> map) {
List<User> popularUsers = handler.getPopularUsers();
map.put("users", popularUsers);
return new ModelAndView("popular-users", map);
}
有人可以告诉我如何重写新 Controller 的测试吗?我找到了一些使用 hamcrest 库的示例,但我真的不明白如何从列表中获取一些值
最佳答案
为了检查 ModelAndView 情况,Spring MVC Test 有几个 MVC 匹配器,例如 ModelResultMatchers 和 ViewResultMatchers
如果您想检查列表中的某些值,可以使用方法 public <T> ResultMatcher attribute(String name, Matcher<T> matcher)
来自 ModelResultMatchers。
前面的检查可以这样重写:
.andExpect(model().attribute("users",hasItem(hasProperty("id", equalTo(372152)))));
.andExpect(model().attribute("users",hasItem(hasProperty("id", equalTo(398729)))));
此外,您还可以检查 View ,此情况的检查可能如下所示:
.andExpect(view().name("popular-users"))
可以找到所有 MockMvcResultMatchers 的完整列表 here
可以找到 ModelResultMatchers 所有可能方法的完整列表 here
可以找到 ViewResultMatchers 所有可能方法的完整列表 here
关于java - 如何用Java重写ModelAndView的集成测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60955762/
问题在标题中。我有一个 Spring MVC Web 应用程序,我必须修改很多东西,我对此一无所知,在做任何事情之前我都想了解它是如何制作的。 有什么区别: return new ModelAndVi
这个问题已经有答案了: what is the difference in org.springframework.web.servlet.ModelAndView vs org.springfram
谁能说出两者的区别 org.springframework.web.servlet.ModelAndView 和 org.springframework.web.portlet.ModelAndVie
我有一个 Managers 列表,需要在我的 @Controller 方法中返回。我还有一个需要同时返回的用户表单 View 。 managerList是从之前的@Controller返回的。我可能盯
我正在写一个 HandlerInterceptor需要将某个 session 范围的 bean 插入 Model . postHandle的签名是这样的: public void postHandle
如何在 Spring MVC 3 的 Controller 中将多个对象添加到 ModelAndView 中?这可能吗? 最佳答案 您可以在 Spring 中使用 addAttribute() 方法向
我有以下发出请求的函数: function postIngredient(action, options) { var xhr = new XMLHttpRequest(); xhr.
我想要显示的页面存在于: java/resources/src/main/webapp/etwebTmpl/login/reset.jsp 我正在使用 ModelAndView,当我去显示它时,我收到
如何在 Spring MVC 3 的 Controller 中将多个对象添加到 ModelAndView 中?这可能吗? 最佳答案 您可以在 Spring 中使用 addAttribute() 方法向
我想通过一些自定义 header 从一个 Controller 重定向到另一个 Controller 。 SpringBoot 2.1.x @Slf4j @RestController @Reques
来自引用链接:How do you redirect to another URI and access an object from the previous modelAndView,如果 pub
当我的操作返回一个 ModelAndView 时是否可以返回一个字符串? public ModelAndView register(....) { ModelAndView mav = new
在 Spring 中,有没有办法在返回 View 后执行任务,或者我需要创建一个线程池并执行它? 例如: public ModelAndView handleRequest(HttpServletRe
我正在尝试从 Controller 向 jsp 返回一个简单的字符串“HelloSpring”。 Controller 是 package it.polito.ai.e4; import javax.
我正在尝试运行 springMVC 应用程序,但它向我显示空白页面。 在我的 Controller 类中,我有 @Controller public class LoginController ext
我有一个名为 的 i18n 属性文件 MessagesBundle_en.properties invalidresourceBundle = Default locale English inval
当我声明的 modelAndView 对象为空时,我试图显示一条消息,该对象使用 addObject() 加载并通过 Controller 返回 我的代码有点像... ModelAndView mod
在 Controller 中给出这个 Action : def listBlockedMembers() { def blocked = UserBlock.findAllByUser(spr
js中是否可以获取返回对象和字符串? Map myModel = new HashMap(); if (preview.equalsIgnoreCase("pdf")) {
在 Spring ,当控制返回 View 时,我看到它返回了, return new ModelAndView("contact", "command", new Contact()); 但是我看到了
我是一名优秀的程序员,十分优秀!