私は、新しいスタイルの注釈を使用するようにSpring MVCコントローラを移行しており、コマンドオブジェクトを検証するコントローラメソッドを単体テストしたいとします(下の簡単な例を参照)。注釈を使用したときのSpring MVC BindingResultのモーグ
@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をどのようにモックできますか?
こんにちはマーク、 私は正しいトラックに私を置く。 BindingResultの使用bindingResult = new BeanPropertyBindingResult(コマンド、 "command");私のテストの中でコマンドオブジェクトをモデルに張り付けることは、テストを並べ替えるように思えました。 –
それは私もそれを行う方法です。 –
それをありがとう、私を助けてくれました! – Stefan