如何为绑定结果编写Junit,Mockito测试用例@Valid
if-else条件示例的功能?如何编写junit mokito测试用例
@RequestMapping(value = "/scriptfile", method = RequestMethod.POST)
public String create(
@Valid ScriptFile scriptFile,
BindingResult result,
ModelMap modelMap
)
{
if (scriptFile == null)
throw new IllegalArgumentException("A scriptFile is required");
if (result.hasErrors()) {
modelMap.addAttribute("scriptFile", scriptFile);
modelMap.addAttribute("showcases", ShowCase.findAllShowCases());
return "scriptfile/create";
}
scriptFile.persist();
return "redirect:/scriptfile/" + scriptFile.getId();
}
如何为上面的例子编写一个Junitm Mockito测试用例?
我会:A)使用@Mock而不是在before方法中调用mock()。 B)一定要匹配他的例子。 create()需要3个参数,而不是1! C)强调目标必须是1)测试方法的公共契约,2)最重要的是,测试生产班级中的所有路径。最后:我想知道是否真的需要**模拟** ModelMap。只有在“正常”实现无法使用时才会模拟对象。我希望可以简单地传入地图并相应地进行配置。 – GhostCat
谢谢,我只是从我的记忆中写下它,没有用IDE验证它:)。我不认为ModelMap应该被嘲弄,但是没有完整的代码,我不知道。 –