使用mockMvc测试请求
以分页测试为例,测试request域中的分页信息info
/**
* @author zjj
* @create 2022-09-19 16:13
*/
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration//可以自动装配webioc容器
@ContextConfiguration(value = {"classpath:spring.xml","classpath:springmvc.xml"})
public class MVCTest {
@Autowired
WebApplicationContext context;
MockMvc mockMvc;
//Junit4包下的@Before
@Before
public void initMockMVC(){
mockMvc = MockMvcBuilders.webAppContextSetup(context).build();
}
@Test
public void testPage() throws Exception {
//请求地址及参数
MvcResult result = mockMvc.perform(MockMvcRequestBuilders.get("/").param("pageNum", "7")).andReturn();
MockHttpServletRequest request = result.getRequest();
PageInfo info = (PageInfo) request.getAttribute("info");
System.out.println("pageNum="+info.getPageNum());
System.out.println("当前页面="+info.getPageNum());
System.out.println("总页码="+info.getPages());
System.out.println("总记录数="+info.getTotal());
System.out.println("导航栏页数="+Arrays.toString(info.getNavigatepageNums()));
System.out.println("员工信息:");
info.getList().forEach(System.out::println);
}
}