diboot低代码中使用junit测试controller,入参不生效问题解决
diboot低代码平台的controller中使用
super.buildQueryWrapperByQueryParams(queryDto)
构造查询条件时,它会从request对象中读取参数名,并作为验证条件,来过滤controller方法接收到的入参,所以在junit中直接使用controller对象进行测试,入参无法生效。
解决办法:
使用mockMvc,模拟请求,例如:
MockMvc mockMvc = MockMvcBuilders.standaloneSetup(testController).build();
ResultActions result = mockMvc.perform(
MockMvcRequestBuilders.get("/test")
.param("status", "1")
.param("pageIndex", "1")
.param("pageSize", "10")
);
String contentAsString = result.andReturn().getResponse().getContentAsString(StandardCharsets.UTF_8);