代码改变世界

spring Mock Test

2011-02-12 15:03  myjava2  阅读(573)  评论(0)    收藏  举报

 public class ABCTest {
 private MockHttpServletRequest request = null;
 private MockHttpServletResponse response = null;
 private XmlWebApplicationContext context;
 private MockServletContext msc;
 private ABCController controller;
 
 @Before
 public void setUp() throws Exception {
        request = new MockHttpServletRequest();
        response = new MockHttpServletResponse();
        String[] contexts = new String[] { "file:WebContent/WEB-INF/abc-servlet.xml" };
        context = new XmlWebApplicationContext();
        context.setConfigLocations(contexts);
        msc = new MockServletContext();
        context.setServletContext(msc);
        context.refresh();
        msc.setAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, context);
 }

 @After
 public void tearDown() throws Exception {
     context = null;
     if(request != null){
         request.getSession().invalidate();
     }
     request = null;
     response = null;
     msc = null;
     controller = null;
 }

 @Test

@Transactional(propagation = Propagation.NOT_SUPPORTED) //禁用回滚
 //@Rollback(false) //禁用回滚

 public void testShow() {
     controller = (ABCController) context.getBean("/abc.do");
     ModelAndView mav = null;
     try {
        mav = controller.getAll(request, response);
     } catch (Exception e) {
        e.printStackTrace();
     }
     Assert.assertNotNull(mav);
  }
}