controller层_springboot项目controller接口junit测试

原创不易,请多多支持!对软件技术感兴趣的童鞋请关注我,后续技术分享更精彩。

背景

springboot项目,有时需要对工程中的controller接口单元测试,而不仅仅只是service/dao层,在交互测试前更完整的验证接口的可用性。

本文介绍springboot项目中,controller接口Junit单元测试方法,以备后续参考。

集成

项目引入依赖包

org.springframework.boot    spring-boot-starter-test    test

测试controller类

@RestController@RequestMapping("/sys")@Api(tags = "系统应用管理")@Slf4jpublic class SysAppController {    @ApiOperation(value = "获取系统应用信息")    @RequestMapping(value = "/info/get",method = RequestMethod.GET)    public DefaultResponseVo getSysApp(Integer sysId, HttpServletRequest request){        Assert.notNull(sysId,"sysId parameter is not allowed empty.");        log.info("invoke getSysApp controller api...");        return DefaultResponseVo.success("SUCCESS");    }}

单元测试类

@SpringBootTest@RunWith(SpringRunner.class)@Slf4jpublic class SysAppControllerTest {    @Autowired    SysAppController sysAppController;    private MockMvc mockMvc;    @Before    public void setup(){        // 将测试的controller添加到mockMvc中,支持多个参数入参        mockMvc = MockMvcBuilders.standaloneSetup(sysAppController).build();    }    @Test    public void testGetSysApp() throws Exception {        //get api test.        MvcResult mvcResult =  mockMvc.perform(MockMvcRequestBuilders.get("/sys/info/get")                .contentType(MediaType.APPLICATION_JSON_UTF8_VALUE)                .param("sysId","1"))                .andExpect(MockMvcResultMatchers.status().isOk())                .andDo(MockMvcResultHandlers.print())                .andReturn()                ;        String content = mvcResult.getResponse().getContentAsString();        Assert.hasLength(content);        //post api test.        /*MvcResult mvcResult2 =  mockMvc.perform(MockMvcRequestBuilders.get("/sys/info/get")                .contentType(MediaType.APPLICATION_JSON_UTF8_VALUE)                .content(JSON.toJSONString(postBodyParams)))                .andExpect(MockMvcResultMatchers.status().isOk())                .andDo(MockMvcResultHandlers.print())                .andReturn()                ;*/    }}

执行验证

4c9ee7228bfe8bd6524d68726a19a8cc.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值