新しいスタイルのアノテーションを使用するようにSpringMVCコントローラーを移行しており、コマンドオブジェクトを検証するコントローラーメソッドを単体テストしたいと考えています(以下の簡単な例を参照)。
@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を使用するだけで、これらは簡単にモック可能でしたが、新しい注釈スタイルの柔軟性により、署名を介してさらに多くの情報を渡す必要があります。
単体テストで使用するためにSpringBindingResultをどのようにモックできますか?