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


- 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のエラーメッセージの内容を取得する方法については次回やってみたいと思います。

