springBootTest测试 GET请求测试

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


    @Autowired
    private MockMvc mockMvc;


    @Test
    public void getUserInfo() throws Exception {

        MockHttpServletRequestBuilder requestBuilder = MockMvcRequestBuilders.get("/rest/user/info/getUserInfo")
                .param("Id","90216529")
                ;

        requestBuilder.header("Content-Type","application/json");
        //requestBuilder.content(JSON.toJSONString(displayDTO));

        ResultActions resultActions = this.mockMvc.perform(requestBuilder);
        // 设置编码
        resultActions.andReturn().getResponse().setCharacterEncoding("UTF-8");
        // 断言并打印结果
        resultActions.andDo(print())
                .andExpect(status().isOk())
                .andExpect(jsonPath("$.code", is(0)));

    }

 

 

Spring Boot Test是一个用于Spring Boot应用的测试工具包,它提供了一组方便的API和注解,使得编写单元测试变得简单。当你在Spring Boot项目中进行接口测试时,可以利用`@SpringBootTest`或`@WebMvcTest`这两个主要注解来进行。 - `@SpringBootTest`: 这个注解会启动整个Spring Boot应用程序上下文,并允许你在测试环境中对所有组件进行交互,包括数据库、依赖的服务等。这适用于测试需要完整环境支持的情况。 - `@WebMvcTest`: 如果你想测试Web层的控制器(Controller)及其相关的处理程序(Handler),这个注解就非常有用。它创建了一个隔离的WebApplicationContext,仅包含Web组件,如控制器、处理器、模板引擎等,适合于测试REST API接口。 在编写Spring Boot的接口测试时,通常会注入`MockMvc`实例,然后使用它的`perform`方法发送HTTP请求到指定的URL,检查响应结果。例如: ```java import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MockMvc; @Test @WebMvcTest(MyController.class) public class MyControllerTest { @Autowired private MockMvc mockMvc; @Test public void testMyEndpoint() throws Exception { mockMvc.perform(get("/my-endpoint")) .andExpect(status().isOk()) .andExpect(content().contentType(MediaType.APPLICATION_JSON)); } } ``` 在这个例子中,`get("/my-endpoint")`模拟了一个GET请求到`/my-endpoint`,后续的`.andExpect`用于断言响应的状态码和内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值