新的ClassPathXmlApplicationContext(路径)的Mockito测试覆盖率

时间:2017-06-14 12:44:00

标签: java spring mockito

我将所有bean都放在我用于Mockito测试的上下文文件中,以测试我的DAO。

private static ApplicationContext getCtx() {
        synchronized (THREADMUTEX) {
            if (ctx == null) {
            try {
             String[] paths = { "classpath*:application-Context.xml",
                                   "classpath*:applicationContext-dao.xml" };
                ctx = new ClassPathXmlApplicationContext(paths);
                System.out.println("context for laws  --> " + ctx);

            } catch (Exception e) {
                }
        }
        }
        return ctx;
    }

在运行测试时,我遇到异常:

  

org.springframework.beans.factory.BeanCreationException:使用名称' testataSource'创建bean时出错:init方法的调用失败

如何模仿new ClassPathXmlApplicationContext(paths);

1 个答案:

答案 0 :(得分:0)

如果你要模仿new ClassPathXmlApplicationContext(springFiles),你根本就没有Spring Context。如果你不需要它们,那么只需在没有spring上下文的情况下运行测试,并通过在代码中实例化它们来测试你的类。

但是如果你需要spring上下文那么你就不应该嘲笑它们,你应该修复bean声明并让它工作。