Я перевожу контроллер Spring MVC для использования аннотаций более нового стиля и хочу провести модульное тестирование метода контроллера, который проверяет объект команды (см. Простой пример ниже).
@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
}
Моя проблема в том, что я должен вызывать метод контроллера в моем модульном тесте и предоставлять ложные значения, чтобы удовлетворить его сигнатуру для правильного выполнения кода, и я не могу понять, как имитировать BindingResult.
В контроллере старого стиля для подписи просто использовались HttpServletRequest и HttpServletResponse, которые легко поддавались изменению, но из-за гибкости нового стиля аннотаций, через подпись приходится передавать намного больше.
Как можно смоделировать Spring BindingResult для использования в модульном тесте ??