在单元测试一个接口时有一个问题,这个接口需要调用容器加载的context,但是单元测试的时候不会去加载web.xml,请问有好的办法吗?

解决方案 »

  1.   

    spring测试 加载web.xml??   
      

  2.   

    http://blog.csdn.net/kennylee26/article/details/3996129
      

  3.   


    ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
    HibernateDao dao = (HibernateDao) app.getBean("hibernateDao");如果是多个spring.xmlApplicationContext app = new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml","applicationContext2.xml"});
      

  4.   

    不是服务器启动加载web.xml么!!!
      

  5.   

     @Override
    protected String[] getConfigLocations() {
            setAutowireMode(AUTOWIRE_BY_NAME);
            return new String[] {
                    "classpath*:/applicationContext-resources.xml",
                    "classpath*:/applicationContext-vas-group-dao.xml",
                };
        }  把你的web.xml 加载进去试试 不过一般测DAO就行了 怎么会用到web.xml
      

  6.   

    我只知道spring有一个非常发用的测试类,他会自己帮你初始化环境。
    只需要继承:AbstractTransactionalDataSourceSpringContextTests
    重写:
    protected String[] getConfigLocations() {
    return new String[] { "classpath*:application-persistence.xml" };
    }
    就可以了。。至于要spring获取web.xml还是头一次听说
      

  7.   


    即使你这样读取到web.xml,但是你的环境还是没有楼主是想把web.xml中的环境也初始化。。
      

  8.   

    模拟一个context也可以的哇,我以前一直是这么做的