我写了Rest控制器如下:
@RestController
public class RegisterRestController {
@RequestMapping(value = "/create", method = RequestMethod.POST, consumes = "application/json", produces = "application/json")
public RegisterResponseObject createProspect(
@Valid @RequestBody ProfileBean profileBean) throws Exception {
//If validation passes do something
}
}
这里,如果验证失败,我在Controller建议中处理异常并将错误对象发送回客户端。
如何使用JUnit测试此控制器以进行验证错误。
提前致谢。
答案 0 :(得分:0)
Spring提供可以执行请求的MockMvc。 Spring documentation是一个很好的起点
答案 1 :(得分:0)
如果您在正常客户端请求中使用控制器建议处理所有错误,您也可以在JUnit中执行相同操作。
在测试控制器类时,我们构建MockMvc对象,然后将自定义控制器建议设置为该对象。这样,当控制器类中的方法中出现任何异常时,它将首先转到控制器建议,然后返回到JUnit测试。
例如:
@Before
public void setup() {
MockitoAnnotations.initMocks(this);
this.mockMvc = MockMvcBuilders.standaloneSetup(this.customController)
.setControllerAdvice(new CustomControllerAdvice()).build();
}
这有助于测试控制器 注意:我已经使用Spring 4版本进行了测试