spring单元测试

第一种:手动加载spring配置文件   创建spring容器

第二种:添加spring单元测试jar

--------------------------------

模拟springmvc请求  测试返回结果

被测试的Controller

测试代码:

package org.test;

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.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.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;

/*
 * 使用spring提供的测试请求功能
 */
@WebAppConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:spring/applicationContext.xml","classpath:spring/springmvc.xml"})
public class MvcTest {
    //@Autowired只能注入ioc容器里边的对象  如果想要注入ioc容器自身   需要@WebAppConfiguration来标明
    @Autowired
    WebApplicationContext context;
    //虚拟mvc请求 
    MockMvc mockMvc;
    
    //初始化
    @Before
    public void initMockMvc(){
        mockMvc=MockMvcBuilders.webAppContextSetup(context).build();
    }
    
    @Test
    public void test1() throws Exception{
        MvcResult result=mockMvc.perform(MockMvcRequestBuilders.get("/emps.action")).andReturn();
        //模拟请求 对应Controller成功之后 (Controller中把查到的数据保存了起来) 
        Object attribute = result.getRequest().getAttribute("pageInfo");
        System.out.println("测试成功");
    }
    
}

单元测试结果:

 

posted @ 2017-10-09 13:40  乔克叔叔  阅读(217)  评论(0编辑  收藏  举报