Junit MockMVC BindingResultエラーメッセージ取得

今回は、Junitテストを行うときにバリデーションのエラーメッセージを取得する方法について調べてみようと思います。

取得方法

Import
Source
  • MockMvcからResultActionを取得します。
  • ResultActionからControllerの戻り値を取得します。(ModelAndView型)
  • ModelAndViewからBindingResultを取得します。
    • (BindingResult) mnv.getModel().get(BindingResult.MODEL_KEY_PREFIX + FORM_NAME_SEARCH)
    • FORM_NAME_SEARCH:ModelAttribute名
  • BindingResultからエラーメッセージを取得します。
    • bindingResult.getFieldError().getDefaultMessage()

終わりに

今回は、テスト時にバリデーションエラーメッセージを取得する方法について調べてみましたが、以下のようにpropertiesに定義されている文字列のメッセージではなくメッセージコード名が帰ってきて比較しました。

コード名ではなくpropertiesのエラーメッセージの内容を取得する方法については次回やってみたいと思います。

コメントを残す