spring Mock Test

本文介绍了一个使用Spring MVC框架进行单元测试的例子。通过创建模拟的HTTP请求和响应对象,配置Spring应用上下文,并利用JUnit测试框架来验证控制器的行为。特别关注了如何设置测试环境、执行控制器方法及断言返回结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 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);
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值