gpt4 book ai didi

spring-mvc - 如何对 Spring Controller Advice 进行集成测试

转载 作者:行者123 更新时间:2023-12-02 14:46:39 24 4
gpt4 key购买 nike

标题100%解释了我的问题。假设 Spring Boot/MVC 中有 @ControllerAdvice 注解的类。就我而言,它包含 @ExceptionHandler 注释。好的,我可以对此类进行单元测试(它返回带有 Exception 类信息的格式化 JSON)。这很容易 - 尤其是在使用 Spock 时。

但是集成测试呢?测试我对 Spring 库的使用是否正确的唯一方法是创建仅用于测试目的的 Controller ,向其添加一些方法,例如:抛出特定类型的异常,看看它是否返回我设计的 @ControllerAdvice 返回的内容。但这看起来很难看 - 创建额外的代码只是为了测试现有代码。

所以我的问题是 - 如何对 @ControllerAdvice 进行集成测试?您是否只是不这样做,仅创建特殊 Controller 来测试 @ControllerAdvice 或仅使用现有 Controller 进行测试,例如提供错误的数据,这将导致抛出异常(在我的情况下,如果我们将检查 ModelAndView@InitBinder 方法吗?

最佳答案

对于 Spring Framework 中的集成测试,测试应执行以下操作:

  • 实例化应用程序上下文。在您的情况下,应用程序上下文必须包含 Controller 和 Controller 建议
  • 在 Controller 定义的 HTTP 端点上发出请求
  • 断言结果

您可以在此处找到有关 Spring 中集成测试的更多详细信息:http://docs.spring.io/spring/docs/current/spring-framework-reference/html/integration-testing.html#spring-mvc-test-framework

关于spring-mvc - 如何对 Spring Controller Advice 进行集成测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38243068/

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