gpt4 book ai didi

spring - spring Controller 中的单元测试响应状态代码

转载 作者:行者123 更新时间:2023-12-05 01:37:04 24 4
gpt4 key购买 nike

我正在尝试对 Controller 中的以下方法进行单元测试

  @ExceptionHandler(ExceptionName.class)
@ResponseStatus(value=HttpStatus.INTERNAL_SERVER_ERROR)
public String handleIOException(ExceptionName ex, HttpServletRequest request) {
return "errors.messagepage";
}

我可以测试返回的 View 名称。

我还想测试响应状态代码。我怎样才能做到这一点?

最佳答案

你不能,不能作为单元测试。注释是对框架的指令,不是可执行代码的一部分。

测试这个的唯一方法是引导一个 DispatcherServlet作为测试的一部分(实际上是集成测试),或者部署应用程序并通过 HTTP 对其进行测试。

如果您真的想在单元测试中执行此操作,请考虑在 HttpServletResponse 上设置响应代码手动,而不是使用注释:

@ExceptionHandler(ExceptionName.class)
public String handleIOException(ExceptionName ex, HttpServletRequest request, HttpServletResponse response) {
response.setStatus(500)
return "errors.messagepage";
}

关于spring - spring Controller 中的单元测试响应状态代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7888703/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com