我正在遷移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,「command」);並且在我的測試中在模型中粘貼命令對象似乎將我的測試排除在外。 – 2009-05-18 14:23:19
我也是這麼做的。 – 2009-05-20 01:23:31