占位符不适用于MockMvc的单元控制器测试

时间:2018-08-28 09:56:12

标签: java spring spring-boot mockmvc

我有一个@RequestParamdefaultValue,例如:${param:5}

当我尝试测试控制器时,出现异常:

  

.w.s.m.s.DefaultHandlerExceptionResolver:绑定请求失败   元件:   org.springframework.web.method.annotation.MethodArgumentTypeMismatchException:   无法将类型“ java.lang.String”的值转换为必需的类型   'int';嵌套的异常是java.lang.NumberFormatException:用于输入   字符串:“ $ {param:5}”

因此,它甚至不知道它是一个占位符。我该如何解决?

我使用mockMvc进行测试:

mockMvc = MockMvcBuilders.standaloneSetup(controller)
    .addPlaceholderValue("param", "5")
    .build();

仅当我使用@AutoConfigureMockMvc@RunWith(SpringRunner.class)时,它才有效。

但是我想创建一个单元测试,而不是一个集成测试:@RunWith(MockitoJUnitRunner.class)

0 个答案:

没有答案