我有一个包含以下代码的Spring验证器。
errors.rejectValue("myFieldName", "errors.required", new Object[] { "My Field" }, "Field required");
我想测试是否正在接收errors.required
消息。我一直无法找到方法。到目前为止我在jUnit中所拥有的是:
FieldError fieldError = errors.getFieldErrors().get(0);
assertEquals("myFieldName", fieldError.getField());
assertEquals("errors.required", fieldError.getCode());
//TODO: test that the message was picked up
有没有人知道如何获取完整的信息,还有它的参数等等?
答案 0 :(得分:0)
我设法找到了解决方案。
在我的jUnit测试中,我连接了MessageSource
。
@Autowired
private MessageSource messageSource;
然后我写了一个方便的方法。
private String getConfiguredMessage(FieldError fieldError) {
return messageSource.getMessage(fieldError.getCode(),
fieldError.getArguments(),
Locale.US);
}
使用此方法,我可以找出配置的消息是什么。
assertEquals("My Field is required.", getConfiguredMessage(fieldError));
虽然这个解决方案并没有真正从错误中“获取”消息,但它可以满足它的目的。
希望这有助于将来。