Ich migriere einen Spring MVC-Controller, um die neueren Stil-Annotationen zu verwenden, und möchte eine Controller-Methode testen, die ein Befehlsobjekt validiert (siehe einfaches Beispiel unten).
@RequestMapping(method = RequestMethod.POST)
public String doThing(Command command, BindingResult result,
HttpServletRequest request, HttpServletResponse response,
Map<String, Object> model){
ThingValidator validator = new ThingValidator();
validator.validate(command, result);
... other logic here
}
Mein Problem ist, dass ich die Methode des Controllers in meinem Unit-Test aufrufen und Mock-Werte bereitstellen müssen, um seine Signatur zu erfüllen, um den Code ordnungsgemäß auszuüben, und ich kann nicht herausfinden, wie man ein BindingResult mock.
Im alten Stil Controller die Signatur nahm einfach ein HttpServletRequest und HttpServletResponse, die leicht mockable waren, aber aufgrund der Flexibilität der neuen Annotation Stil, muss man viel mehr in über die Signatur übergeben.
Wie kann man ein Spring BindingResult für die Verwendung in einem Unit-Test mock?