我想使用Spring MVC模拟模块来进行单元测试我的控制器。我已经添加了如下代码:
@Before
public void beforeTest() {
MockitoAnnotations.initMocks(this);
standaloneSetup(new CarController());
}
这段代码运行良好。但是我创建了一个带有使用 @ExceptionHandler
注解的方法的控制器增强器。我想在单元测试中测试它是否正常工作。我发现可以构建一个 MockMvc
对象并将其传递给 standaloneSetup(..)
:
MockMvcBuilders.standaloneSetup(
new CarController()).setHandlerExceptionResolvers(...).build();
然而,当我这样做时,检查异常处理程序是否正常工作的测试通过了,但所有其他访问带有jsonpath响应的测试都失败了,并显示以下错误:
java.lang.IllegalStateException: Expected response body to be verified as JSON,
HTML or XML but content-type 'null' is not supported out of the box.
Try registering a custom parser using:
RestAssured.registerParser("null", <parser type>);
Content was:
我该如何解决这个问题?出了什么问题?
底线是,我想对我的rest api进行单元测试。如果我添加了异常处理程序,我应该如何做到这一点?