使用MockMvc伪造mvc请求测试controller层方法

前提是已经搭建完springboot环境,并且已经可以运行。

搭建springboot环境文章连接 https://blog.csdn.net/FU250/article/details/80208261

简单代码如下:

@RunWith(SpringRunner.class)
@SpringBootTest
public class TestHello {

    private Logger logger = LoggerFactory.getLogger(getClass());
    @Autowired
    private WebApplicationContext wac;

    private MockMvc mockMvc;

    @Before
    public void setup(){
        mockMvc = MockMvcBuilders.webAppContextSetup(wac).build();
    }

    @Test
    public void testHello() throws Exception {
        String result = mockMvc.perform(MockMvcRequestBuilders
                .get("/hello") //请求URL地址
                .param("name","ss") //请求的参数
                .contentType(MediaType.APPLICATION_JSON_UTF8)) 
                .andExpect(MockMvcResultMatchers.status().isOk()) //预期返回状态码为200
                .andExpect(MockMvcResultMatchers.jsonPath("$").value("hello")) //返回的对象是否为"hello"
                .andReturn().getResponse().getContentAsString(); //将请求返回的结果转换为String并返回
        logger.info("返回结果信息为: {}", result);
    }
}

你可能感兴趣的:(springboot)