package newrenhewww; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.web.WebAppConfiguration; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.MvcResult; import org.springframework.test.web.servlet.ResultActions; import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; import org.springframework.test.web.servlet.result.MockMvcResultHandlers; import org.springframework.test.web.servlet.result.MockMvcResultMatchers; import org.springframework.test.web.servlet.setup.MockMvcBuilders; import org.springframework.web.context.WebApplicationContext; import cn.renhe.model.po.Member; /** * Title: MyMvcTest.java<br> * Description: <br> * Copyright (c) 人和网版权所有 2015 <br> * Create DateTime: 2015年8月3日 下午3:29:48 <br> * @author zhuw */ //告诉framework怎么运行这个类 @RunWith(SpringJUnit4ClassRunner.class) @WebAppConfiguration(value = "src/main/webapp") //bean的配置文件路径,这个是Test类的classpath路径,如果是Spring推荐的目录结构,应该在:项目目录/src/test/resources/里 @ContextConfiguration(locations = {"classpath:spring.xml","classpath:spring-mvc.xml","classpath:spring-mybatis.xml"}) public class MyMvcTest extends AbstractTransactionalJUnit4SpringContextTests{ @Autowired private WebApplicationContext webApplicationContext; private MockMvc mockMvc; @Before public void setUp(){ mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build(); } /** * 有返回view的请求 * @throws Exception */ @Test public void testView() throws Exception { MockHttpServletRequestBuilder builder = MockMvcRequestBuilders.get("/contact/invitelist"); //设置resquest属性 builder.requestAttr("member", getMember()); //设置session属性 builder.sessionAttr("member", getMember()); ResultActions action = mockMvc.perform(builder); //判断返回view action.andExpect(MockMvcResultMatchers.view().name("/contact/invitelist")); //判断返回的model里的属性 是否存在 action.andExpect(MockMvcResultMatchers.model().attributeExists("invitelist")); //打印结果 action.andDo(MockMvcResultHandlers.print()); //返回的结果 MvcResult result = action.andReturn(); Assert.assertNotNull(result.getModelAndView().getModel().get("invitelist")); } private Member getMember(){ Member m = new Member(); m.setId(38); return m; } }
spring mvc 单元测试类 测试controller
猜你喜欢
转载自zwxiaole.iteye.com/blog/2232505
今日推荐
周排行