标题100%解释了我的问题。假设Spring Boot / MVC中有@ControllerAdvice
注释类。在我的例子中,它包含@ExceptionHandler
注释。好的,我可以对这个类进行单元测试(它返回带有Exception类信息的格式化JSON)。这很容易 - 特别是在使用Spock时。
但是集成测试呢?测试我对Spring库的使用是否正确的唯一方法是创建仅用于测试目的的控制器,添加一些方法,例如。抛出特定类型的异常,看看它是否返回我设计的@ControllerAdvice
返回的内容。但它似乎很难看 - 只为测试现有代码创建了额外的代码。
所以我的问题是 - 你如何对@ControllerAdvice
进行集成测试?你只是不这样做,只创建特殊的控制器来测试@ControllerAdvice
或者只是使用现有的控制器测试它,例如提供错误的数据会导致抛出异常(在我的情况下,如果它是{{ 1}}方法我们将检查@InitBinder
)?
答案 0 :(得分:0)
对于Spring Framework中的集成测试,测试应该执行以下操作:
您可以在此处找到有关Spring中集成测试的更多详细信息:http://docs.spring.io/spring/docs/current/spring-framework-reference/html/integration-testing.html#spring-mvc-test-framework