我将所有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);
?
答案 0 :(得分:0)
如果你要模仿new ClassPathXmlApplicationContext(springFiles)
,你根本就没有Spring Context。如果你不需要它们,那么只需在没有spring上下文的情况下运行测试,并通过在代码中实例化它们来测试你的类。
但是如果你需要spring上下文那么你就不应该嘲笑它们,你应该修复bean声明并让它工作。