Tôi đang di chuyển bộ điều khiển Spring MVC để sử dụng chú thích kiểu mới hơn và muốn đơn vị kiểm tra phương pháp điều khiển xác thực đối tượng lệnh (xem ví dụ đơn giản bên dưới).Mocking Spring MVC BindingResult khi sử dụng chú thích
@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
}
Vấn đề của tôi là tôi phải gọi phương thức của bộ điều khiển trong thử nghiệm đơn vị của tôi, và cung cấp các giá trị giả để đáp ứng chữ ký của mình để thực hiện mã đúng, và tôi không thể làm việc ra làm thế nào để chế nhạo một BindingResult.
Trong kiểu cũ Bộ điều khiển chữ ký đơn giản lấy một HttpServletRequest và HttpServletResponse, dễ dàng giả lập, nhưng do tính linh hoạt của kiểu chú thích mới, người ta phải vượt qua rất nhiều thông qua chữ ký.
Làm thế nào người ta có thể giả lập Spring BindingResult để sử dụng trong một bài kiểm tra đơn vị ??
Xin chào Mark, điều đó giúp tôi đi đúng hướng. Sử dụng BindingResult bindingResult = new BeanPropertyBindingResult (lệnh, "lệnh"); và gắn kết đối tượng lệnh trong mô hình trong thử nghiệm của tôi dường như sắp xếp kiểm tra của tôi. –
Đó là cách tôi cũng làm như vậy. –
Cảm ơn vì điều đó, đã giúp tôi rất nhiều! – Stefan