在我的项目中,我使用 Rest Assured MockMVC 并具有以下依赖项:
<dependency>
<groupId>com.jayway.restassured</groupId>
<artifactId>spring-mock-mvc</artifactId>
<version>2.9.0</version>
</dependency>
我的测试类如下所示:
TestController testController = new TestController();
@Before
public void configureRestAssuredForController() {
RestAssuredMockMvc.standaloneSetup(testController);
}
我在控制器类中定义了几个 ExceptionHandler。
在我的 JUnit 测试中,我可以验证控制器类中定义的请求路径和处理程序。
但是 - 当我将处理程序移动到一个单独的类时@ControllerAdvice
,处理程序不会从测试中调用。
我明白这是因为控制器的独立设置,它可能无法加载另一个类中定义的处理程序。
但我不知道如何在独立模式下将异常处理程序添加到 RestAssuredMockMvc 中以使其工作。
我正在挣扎,非常感谢任何帮助。
我将 Spring 升级到 4.3.1.RELEASE 并执行了以下操作以使其正常工作 -
GlobalControllerExceptionHandler globalControllerExceptionHandler = new GlobalControllerExceptionHandler();
@Before
public void given_rest_assured_is_configured_with_cloud_study_controller()
throws Exception {
mockMvc = MockMvcBuilders.standaloneSetup(cloudStudyCountryController)
.setControllerAdvice(globalControllerExceptionHandler).build();
RestAssuredMockMvc.mockMvc(mockMvc);
dataObj.setCloudDataObjectCreateProcessor(createprocessor);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)