【发布时间】:2016-11-09 15:07:35
【问题描述】:
标题 100% 解释了我的问题。假设 Spring Boot/MVC 中有 @ControllerAdvice 注释类。在我的例子中,它包含 @ExceptionHandler 注释。好的,我可以对这个类进行单元测试(它返回带有异常类信息的格式化 JSON)。这很容易——尤其是在使用 Spock 时。
但是集成测试呢?测试我对 Spring 库的使用是否正确的唯一方法是创建仅用于测试目的的控制器,向其中添加一些方法,例如。抛出特定类型的异常,看看它是否返回我设计的 @ControllerAdvice 来返回。但它看起来很丑 - 创建额外的代码只是为了测试现有的代码。
所以我的问题是 - 您如何在 @ControllerAdvice 上进行集成测试?你只是不这样做,创建特殊的控制器只是为了测试@ControllerAdvice,或者只是使用现有的控制器来测试它,例如提供错误的数据,这将导致异常被抛出(在我的情况下,如果它是@InitBinder 方法我们会检查ModelAndView)?
【问题讨论】:
标签: spring-mvc spring-boot integration-testing spock spring-test-mvc