1. package com.wzy.test;
    2. import com.github.pagehelper.PageInfo;
    3. import com.wzy.pojo.Employee;
    4. import org.junit.Before;
    5. import org.junit.Test;
    6. import org.junit.runner.RunWith;
    7. import org.springframework.beans.factory.annotation.Autowired;
    8. import org.springframework.mock.web.MockHttpServletRequest;
    9. import org.springframework.test.context.ContextConfiguration;
    10. import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
    11. import org.springframework.test.context.web.WebAppConfiguration;
    12. import org.springframework.test.web.servlet.MockMvc;
    13. import org.springframework.test.web.servlet.MockMvcBuilder;
    14. import org.springframework.test.web.servlet.MvcResult;
    15. import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
    16. import org.springframework.test.web.servlet.setup.MockMvcBuilders;
    17. import org.springframework.web.context.WebApplicationContext;
    18. import java.util.List;
    19. @WebAppConfiguration
    20. @RunWith(SpringJUnit4ClassRunner.class)//指定使用SpringJUnit4单元测试运行
    21. @ContextConfiguration(locations = {"classpath:springapplication.xml","classpath:dispatcherServlet-Servlet.xml"})
    22. public class MVCTest {
    23. //传入springMVC的ioc
    24. @Autowired
    25. WebApplicationContext context;
    26. //虚拟的MVC
    27. MockMvc mockMvc;
    28. @Before
    29. public void initMockMVC(){
    30. mockMvc = MockMvcBuilders.webAppContextSetup(context).build();
    31. }
    32. @Test
    33. public void testPage() throws Exception {
    34. /**
    35. * MockMvcRequestBuilders.get("/list"):发起get请求
    36. * .param("pageNumber","1"):在/list后面携带 参数
    37. * .andReturn():获取返回值
    38. */
    39. MvcResult pageNumber = mockMvc.perform(MockMvcRequestBuilders.get("/list").
    40. param("pageNumber", "10")).andReturn();//发起get请求
    41. //请求成功后,请求域中会有保存的pageInfo,可以取出 pageInfo
    42. MockHttpServletRequest request = pageNumber.getRequest();
    43. PageInfo pageInfo = (PageInfo)request.getAttribute("pageInfo");
    44. //取出当前页码
    45. System.out.println("当前页码:" + pageInfo.getPageNum());
    46. System.out.println("总页码:" + pageInfo.getPages());
    47. System.out.println("总记录数:" + pageInfo.getTotal());
    48. System.out.println("========在页面需要连续显示的页码============");
    49. int[] navigatepageNums = pageInfo.getNavigatepageNums();
    50. for (int page : navigatepageNums) {
    51. System.out.print(page + "\0");
    52. }
    53. System.out.println("\n当前页数据!");
    54. //获取员工数据
    55. List<Employee> list = pageInfo.getList();
    56. for (Employee employee : list) {
    57. System.out.println("ID:" + employee.getEmpId() +
    58. ";\0姓名:" + employee.getEmpName() +
    59. ";\0性别:" + employee.getGender() +
    60. ";\0邮箱:" + employee.getEmail()
    61. );
    62. }
    63. }
    64. }

    结果:

    当前页码:10 总页码:21 总记录数:101

    ========在页面需要连续显示的页码============

    6 7 8 9 10 11 12 13 当前页数据!

    ID:86; 姓名:71b7184; 性别:男; 邮箱:d321384@163.com

    ID:92; 姓名:d9e1b90; 性别:男; 邮箱:b1bb990@163.com

    ID:95; 姓名:ab00293; 性别:女; 邮箱:74c2c93@163.com

    ID:96; 姓名:4273394; 性别:男; 邮箱:153a294@163.com

    ID:98; 姓名:bb90a96; 性别:男; 邮箱:a520b96@163.com