springMVC测试小例子

来源:互联网 发布:实体店铺装修设计软件 编辑:程序博客网 时间:2024/06/08 09:21
@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    }}
原创粉丝点击