Spring MVC 的单元测试实例

一、先定义实例:

public class BaseTest {

	private static HandlerMapping handlerMapping;  
	private static HandlerAdapter handlerAdapter;

	@BeforeClass
	public static void setUp() {
		String[] configs = {
				"classpath:spring/spring-mvc-servlet.xml"
		};
		
		XmlWebApplicationContext context = new XmlWebApplicationContext();
		context.setConfigLocations(configs);
		MockServletContext msc = new MockServletContext();
		context.setServletContext(msc);
		context.refresh();
		msc.setAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE,context);
		handlerMapping = (HandlerMapping) context.getBean(RequestMappingHandlerMapping.class);
		handlerAdapter = (HandlerAdapter) context.getBean(context.getBeanNamesForType(RequestMappingHandlerAdapter.class)[0]);     
	}
	
	public ModelAndView excuteAction(HttpServletRequest request,HttpServletResponse response) throws Exception {
		HandlerExecutionChain chain = handlerMapping.getHandler(request);
		final ModelAndView model = handlerAdapter.handle(request, response,chain.getHandler());
		return model;
	}
}

 二、单元测试方法:

	@Test
	public void test() throws Exception{
	    MockHttpServletRequest request = new MockHttpServletRequest();  
	    MockHttpServletResponse response = new MockHttpServletResponse();  
	    request.setServletPath("/inputUserInfo");  
	    //request.addParameter("id", "1002");  
	    //request.addParameter("date", "2010-12-30");  
	    request.setMethod("GET"); // "POST" 
	    // 执行URI对应的action  
	    final ModelAndView mav = this.excuteAction(request, response);  
	    // Assert logic  
	    Assert.assertEquals("view/inputUserInfo", mav.getViewName());  
	    String msg=(String)request.getAttribute("msg");  
	    //System.out.println(msg); 
	}

  三、个人认为实用性不强。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值