测试时加载了错误的spring应用程序上下文

时间:2014-03-30 17:27:47

标签: java spring unit-testing testing

我有我的Spring应用程序,其中应用程序上下文正确加载并正常工作。但是当我尝试在我的测试中加载它时,加载的应用程序上下文不包含在配置文件中声明的任何bean。

@Test
public void testInsertMapitPoint() {
    ApplicationContext context = new ClassPathXmlApplicationContext(new String[] {     "classpath:*/application-ds-context.xml","classpath:*/application-dao-context.xml" });
    System.out.println("Bean Names:");
    for (String beanName : context.getBeanDefinitionNames()) {
        System.out.println(beanName);
    }
}

显示的测试不会在上下文中显示任何bean。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

使用类似

的模式
classpath:*/application-ds-context.xml
       // ^ this guy

Spring将加载与该模式匹配的任何文件。 任何意味着它可能找不到/加载任何。在此示例中,它将查找任何第一级包中名为application-ds-context.xml的文件。

例如,它会找到

/classpath-root
    /first
        application-ds-context.xml

但它找不到

/classpath-root
    application-ds-context.xml

/classpath-root
    /first
        /second
            application-ds-context.xml

如果这是您看到的行为,则您的类路径不包含此类文件。查看如何构建测试应用程序。

相关问题