代码示例
1.控制层
package com.learning.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Author wangyouhui
* @Description 测试controller
**/
@RestController
@RequestMapping("/test")
public class TestController {
@GetMapping("/get")
public String test(){
System.out.println("test");
return "test";
}
}
2.测试类
package com.learning;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.ResultActions;
import org.springframework.test.web.servlet.ResultMatcher;
import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.result.ContentResultMatchers;
import org.springframework.test.web.servlet.result.HeaderResultMatchers;
import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
import org.springframework.test.web.servlet.result.StatusResultMatchers;
/**
* @Author wangyouhui
* @Description 测试类
**/
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@AutoConfigureMockMvc
public class WebTest {
@Test
void testController(@Autowired MockMvc mockMvc) throws Exception {
// 创建虚拟请求
MockHttpServletRequestBuilder builder = MockMvcRequestBuilders.get("/test/get");
// 执行对应的请求
ResultActions action = mockMvc.perform(builder);
//匹配执行状态(是否预期值)
// 定义执行状态匹配器
StatusResultMatchers status = MockMvcResultMatchers.status();
// 定义预期执行状态
ResultMatcher ok = status.isOk();
// 使用本次真实执行的结果与预期结果进行比对
action.andExpect(ok);
HeaderResultMatchers header = MockMvcResultMatchers.header();
ResultMatcher contentType = header.string("Content-Type", "text/plain;charset=UTF-8");
action.andExpect(contentType);
// 定义执行的预期值
ContentResultMatchers content = MockMvcResultMatchers.content();
ResultMatcher result = content.string("test");
action.andExpect(result);
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/92347.html