springboot单测MockMvc设置请求头
时间: 2023-10-19 19:34:17 浏览: 190
在 Spring Boot 单元测试中,可以使用 `MockMvc` 对象模拟 HTTP 请求,并设置请求头。下面是一个示例代码:
```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;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.result.MockMvcResultHandlers;
import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
@WebMvcTest(YourController.class)
public class YourControllerTest {
@Autowired
private MockMvc mockMvc;
@Test
public void testWithCustomHeaders() throws Exception {
mockMvc.perform(MockMvcRequestBuilders.get("/your-endpoint")
.header("X-Custom-Header", "value")
.accept(MediaType.APPLICATION_JSON))
.andExpect(MockMvcResultMatchers.status().isOk())
.andDo(MockMvcResultHandlers.print());
}
}
```
在上面的示例中,我们使用 `MockMvc` 执行一个 GET 请求,并设置了一个自定义的请求头 `X-Custom-Header` 的值为 `"value"`。同时,我们还设置了 Accept 头部为 `"application/json"`。
确保替换示例中的 `/your-endpoint` 为你要测试的端点路径,并根据需要更改请求方法(`get()`、`post()` 等)和其他请求配置。
阅读全文