作者ian810317 (西瓜瓜)
看板java
标题[问题] Spring Mvc test @valid 的问题
时间Thu Feb 23 11:09:42 2017
小弟我有一个 Spring Mvc test @valid 的问题想请教各位
------------------------------------------------------------------------------
<body>
<div class="container">
<h1>Please enter the term!</h1>
<form action="createTerm" method="POST">
<input type="text" name="term"/>
<input class="btn btn-default" type="submit"
value="Create!!"/><br><br>
</form>
<p>
<a href="home.html" th:href="@{/index}">Return to home</a>
</p>
</div>
</body>
------------------------------------------------------------------------------
@Controller
public class CreateTermController {
private static final String REDIRECT_LIST_PAGE1_PATH = "redirect:/list/1";
@Autowired
public TermService termService;
@RequestMapping(value = "/createTerm", method = RequestMethod.POST)
public String createTerm(@Valid TermViewModel model, BindingResult
result, ModelMap modelMap) {
if (result.hasErrors()) {
modelMap.addAttribute("errors", result.getFieldErrors());
return "error";
} else {
termService.createOrUpdate(new Term(model.getTerm()));
return REDIRECT_LIST_PAGE1_PATH;
}
}
}
------------------------------------------------------------------------------
@Test
public void testEmptyInputError() throws Exception {
mockMvc.perform(post("/createTerm"))
.andExpect(model().attributeHasErrors("termViewModel"))
.andExpect(model().attributeHasFieldErrors("termViewModel","term"))
.andExpect(status().isOk())
.andExpect(view().name("error"));
}
------------------------------------------------------------------------------
@Data
public class TermViewModel {
private int id;
@NotEmpty
private String term;
private String newTerm;
}
------------------------------------------------------------------------------
在执行测试的时候会有 No errors for attribute: [termViewModel]
java.lang.AssertionError: No errors for attribute: [termViewModel]
并且不会触发到result.hasErrors()直接导向 list的页面
但是在实际到网页测试
却能够触发 result.hasErrors() 再导向error的页面
1.想请问一下 我的测试程式为什麽部会触发 result.hasErrors()呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 60.250.147.33
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1487819389.A.144.html
※ 编辑: ian810317 (223.140.190.6), 02/23/2017 11:33:01