• 单元测试模拟request后台


    编写测试单元

        @RunWith(SpringJUnit4ClassRunner.class)  让测试运行于Spring测试环境

        @WebAppConfiguration是一个类级别的注释,用于声明ApplicationContext为集成测试加载的应该是一个WebAppConfiguration。

        @ContextConfiguration(locations={" "," "})  Spring整合JUnit4测试时,使用注解引入多个配置文件

    1.编写controller类

    @Controller
    public class BasicMsgContrller {
    @Autowired
    BasicService basicService;
    @RequestMapping("alltest")
    public void getAllStuInfo(@RequestParam(value="a",defaultValue="1") Integer i,Model m){
    //函数来指定 pageNum(第几页) 和 pageSize(每页显示几条记录) 两个参数。
    PageHelper.startPage(i, 5);
    List <Sbasicmessage> allStu = basicService.getallStu();
    //使用pageInfo包装查询后的结果,封装了详细的查询数据,
    PageInfo page=new PageInfo(allStu);
    m.addAttribute("pageInfo", page);
    System.out.println("总数:"+page.getTotal());
    
    }

    2.测试类

    //让测试运行于Spring测试环境
    @RunWith(SpringJUnit4ClassRunner.class)
    //web请求容器
    @WebAppConfiguration
    //@ContextConfiguration Spring整合JUnit4测试时,使用注解引入多个配置文件
    @ContextConfiguration(locations={"classpath:applicationContext.xml","file:src/main/webapp/WEB-INF/springmvc-servlet.xml"})
    public class MockMvcTest {
    
        @Autowired
        WebApplicationContext context;
        //模拟请求
        MockMvc mvc;
        @Before
        public void initMockMvc(){
            
            mvc=MockMvcBuilders.webAppContextSetup(context).build();
            
        }
        
        @Test
        public void testpage() throws Exception{
            //发起一次请求    andReturn返回的结果
            MvcResult mvcResult=mvc.perform(MockMvcRequestBuilders.get("/alltest"). param("a","1")).andReturn();
            MockHttpServletRequest mockrequest= mvcResult.getRequest();
            PageInfo pageinfo=(PageInfo)mockrequest.getAttribute("pageInfo");
            System.out.println("当前总页数为"+pageinfo.getTotal());
        }
        
  • 相关阅读:
    投产包错误的思考
    Oracle----用户操作
    3.27 学习记录
    3.26 学习记录
    3.25 学习记录
    3.24 学习记录
    3. 23构建之法读后感
    3.22 学习记录
    3. 21学习记录
    3.20 学习记录
  • 原文地址:https://www.cnblogs.com/ysource/p/10181039.html
Copyright © 2020-2023  润新知