junit测试restful接口

本文介绍了如何在开发中使用JUnit的MockMVC对RESTful接口进行小步迭代测试。通过MockMVC,即便接口后续需要修改,也能快速进行测试。举例说明了perform(RequestBuilder requestBuilder)方法用于执行请求,并可通过ResultActions的andDo(), andExpect()和andReturn()进行后续操作,如获取ResponseBody的值。" 85332034,8265545,SpringBoot入门实践:构建简单项目与接口调用,"['SpringBoot', 'SpringCloud', 'RESTful API', '缓存', 'Gradle构建']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开发过程中,有时需要对接口进行小步迭代测试。这时候可以使用junit mockmvc来对controller进行测试,这样即使接口在后期需要修改时,可以快速进行测试。

首先上一个例子:

@RunWith(SpringRunner.class)
@SpringBootTest
@AutoConfigureMockMvc
public class IndexControllerTest {

    @Autowired
    private MockMvc mockMvc;

    @Test
    public void xiaowanzi() throws Exception {
        mockMvc.perform(MockMvcRequestBuilders.get("/xwz")).andExpect(MockMvcResultMatchers.status().isOk());

    }

}

mockmvc 为一个虚拟的servlet
方法:
public ResultActions perform(RequestBuilder requestBuilder) throws java.lang.Exception
**perform(RequestBuilder requestBuilder)
Perform a request and return a type that allows chaining further actions, such as asserting expectations, on the result.**

ResultActions 有三个方法:
andDo(ResultHandler handler)
ResultActions andExpect(ResultMatcher matcher)
MvcResult andReturn()
举个栗子:使用andReturn() 获取返回responsebody的值

     @RequestMapping(value = "mockTest")
    @ResponseBody
    public RestResponseBo mockTest(){
        System.out.println("this is mock test ");
        return RestResponseBo.fail(ErrorCode.BAD_REQUEST);
    }

//方法对应test:
 @Test
    public void xiaowanzi() throws Exception {
        MockHttpServletResponse response = mockMvc.perform(MockMvcRequestBuilders.get("/mockTest")).andReturn().getResponse();
        System.out.println(response.getContentAsString());
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值