第一种:手动加载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("测试成功"); } }
单元测试结果: