我一直在使用Mockito测试我的弹簧控制器方法,但与以下失败测试的行为相混淆:
控制器:
@RequestMapping(value = "/getPage", method = RequestMethod.GET)
public String getPage(Model model) {
String myString = myService.someMethod();
model.addAttribute("myString", myString);
return "myTemplate";
}
测试:
@Test public void testGetPage() throws Exception {
String myString = null;
when(mockService.someMethod()).thenReturn(myString);
mockMvc.perform(get("/getPage"))
.andExpect(status().isOk())
.andExpect(model().size(1)) // this passes
.andExpect(model().attribute("myString", myString)) // fails: "Model attribute 'myString' does not exist
.andExpect(model().attributeExists("myString")) // fails: "Model attribute 'myString' does not exist
;
}
那么测试返回模型时检测到什么。大小(1)如果不是mystring变量?有什么方法可以列出与模型关联的所有属性?
模型是一个映射,其键 mystring 和null的值。要使模型尺寸为零,请不要向其添加任何属性。
您可以拥有1000个属性,所有属性都初始化为null。尺寸为1000。