junit能否启动web项目设置的web listener【二】

离我遇到无法使用junit测试mvc项目的这个坑,已经过去2个月了。最近一段时间一直在忙版本的事情。基本无法抽身。jacoco的坑填完了,赶紧来填了这个坑。免得坑越来越多。

之前提过。由于项目的特殊性。开发将多个组件(子系统间)的通信方式,用listener来实现了。即只要master在,下游子系统的设置就可以通过监听来实现。

public class ApplicationListener implements javax.servlet.ServletContextListener{
   


    @Override
    public void contextInitialized(ServletContextEvent sce) {
        // 设置环境变量,spring配置里面启动用到的
        String rootClsPath = sce.getServletContext().getRealPath("/WEB-INF/classes");
        System.setProperty(VisualConstants.ROOT_CLASS_PATH,rootClsPath); 

        // 设置默认监听
        System.setProperty(VisualConstants.DB_SCHEMA, VisualConstants.SCHEMA_DEFAULT);
    }

    @Override
    public void contextDestroyed(ServletContextEvent sce) {
        // TODO Auto-generated method stub

    }
}

前文提过,因为这个蛋疼的设定,我直接用spring-test,无法启动这listener,导致spring起不来。
这几天,我认真翻了一下junit的资料跟spring-test的资料。发现问题可解。
spring-test framework的核心,就在于testcontextmanager。同时,提供testexecutionlistener来方便的
运行spring的一些相关bean的加载。

在查看了一些资料之后,我改写了一下我的单测程序

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值