SpringBootTest使用
示例:
@SpringBootTest(classes = SpringbootInitApplication.class)
class controllerTest {
private Logger logger = LogManager.getLogger(controllerTest.class);
@Autowired
private WebApplicationContext wac; //上下文环境
private MockMvc mockMvc; //mock
private HttpHeaders headers; // 请求头设置
public static final String baseUrl = "/main"; // 基本地址
//初始化方法
@BeforeEach
public void init(){
mockMvc = MockMvcBuilders.webAppContextSetup(wac).build();
MultiValueMap<String, String> headerMap = new LinkedMultiValueMap<>();
headerMap.add("token", "token");
headers = new HttpHeaders();
headers.addAll(headerMap);
}
@Test
@DisplayName("test1")
void hello1() throws Exception {
MvcResult mvcResult = mockMvc.perform(MockMvcRequestBuilders.get(baseUrl + "/hello1")
.headers(headers)) // .content(String) post时的方法体
.andExpect(MockMvcResultMatchers.status().isOk())
//.andExpect(MockMvcResultMatchers.content().string("结果验证"))
.andReturn();
String contentAsString = mvcResult.getResponse().getContentAsString(StandardCharsets.UTF_8);
logger.info(contentAsString);
}
}