我试图在控制器中对以下方法进行单元测试
@ExceptionHandler(ExceptionName.class)
@ResponseStatus(value=HttpStatus.INTERNAL_SERVER_ERROR)
public String handleIOException(ExceptionName ex, HttpServletRequest request) {
return "errors.messagepage";
}
Run Code Online (Sandbox Code Playgroud)
我可以测试返回的视图名称.
我还想测试响应状态代码.我怎样才能做到这一点?
你不能,不能作为一个单元测试.注释是对框架的指令,不是可执行代码的一部分.
测试这个问题的唯一方法是引导a DispatcherServlet作为测试的一部分(实际上是集成测试),或部署应用程序并通过HTTP测试它.
如果您真的想在单元测试中执行此操作,请考虑HttpServletResponse手动设置响应代码,而不是使用注释:
@ExceptionHandler(ExceptionName.class)
public String handleIOException(ExceptionName ex, HttpServletRequest request, HttpServletResponse response) {
response.setStatus(500)
return "errors.messagepage";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3341 次 |
| 最近记录: |