@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = {MyMvcConfig.class})//记载mvc配置文件 @WebAppConfiguration("src/main/resources")//声明加载的ApplicationContext是一个WebApplicationContext,属性指定web资源的位置 public class TestControllerIntegrationTests { private MockMvc mockMvc;//模拟mvc对象 @Autowired private DemoService demoService; @Autowired WebApplicationContext wac; @Autowired MockHttpSession session; @Autowired MockHttpServletRequest request; @Before public void setup(){ this.mockMvc= MockMvcBuilders.webAppContextSetup(this.wac).build(); } @Test public void testNormalController() throws Exception{ mockMvc.perform(get("/normal")) //向/normal进行get请求 .andExpect(status().isOk())//预期控制返回状态为200 .andExpect(view().name("page"))//预期view的名称为page .andExpect(forwardedUrl("/WEB-INF/classes/views/page.jsp"))//预期页面转向的真正路径 .andExpect(model().attribute("msg", demoService.saySomething()));//预期Model中msg的值为demoService.saySomething()的返回值 } @Test public void testRestController() throws Exception{ mockMvc.perform(get("/testRest")) // .andExpect(status().isOk()) .andExpect(content().contentType("text/plain;charset=UTF-8"))//预期返回值类型是媒体类型 .andExpect(content().string(demoService.saySomething()));//预期返回值是hello } }
springMVC测试小例子
最新推荐文章于 2024-07-01 07:00:00 发布