Spring测试:MockMvc
在Spring框架中,MockMvc
是一个用于测试Spring MVC控制器的API,它允许你模拟发送HTTP请求到控制器,并验证返回的结果。
以下是一个使用MockMvc
进行测试的简单示例:
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.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.result.MockMvcResultHandlers;
import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
@SpringBootTest
@AutoConfigureMockMvc
public class MyControllerTest {
@Autowired
private MockMvc mockMvc;
@Test
public void testMyController() throws Exception {
mockMvc.perform(MockMvcRequestBuilders.get("/myEndpoint"))
.andExpect(MockMvcResultMatchers.status().isOk())
.andDo(MockMvcResultHandlers.print());
}
}
在这个例子中,我们使用@SpringBootTest
来标注测试类,这样可以启动完整的Spring上下文。@AutoConfigureMockMvc
自动配置MockMvc
实例,它可以用来模拟发起请求。perform
方法用于发送请求,这里我们发送了一个GET请求到/myEndpoint
。andExpect
验证响应状态是否是200(OK),andDo
方法打印出请求和响应的详细信息。
评论已关闭