Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing 单元测试中的Spring上下文通配符_Unit Testing_Spring_Maven_Classpath - Fatal编程技术网

Unit testing 单元测试中的Spring上下文通配符

Unit testing 单元测试中的Spring上下文通配符,unit-testing,spring,maven,classpath,Unit Testing,Spring,Maven,Classpath,我们在这里有一个项目设置,它广泛使用Maven概要文件。我们使用的是Spring,尽管我们主要使用基于注释的配置,但仍需要一些XML配置文件 这些SpringXML配置文件使用各种不同的配置文件拉入,在实际的web应用程序中,它们都放在web-INF/Spring中,并用类路径:Spring/Spring-*.XML加载。这个很好用 问题是单元测试:我想测试各种不同的配置文件,而Spring似乎在通配符规范方面存在问题,比如当文件分布在多个目录上时 我认为最简单的解决方案就是在@ContextC

我们在这里有一个项目设置,它广泛使用Maven概要文件。我们使用的是Spring,尽管我们主要使用基于注释的配置,但仍需要一些XML配置文件

这些SpringXML配置文件使用各种不同的配置文件拉入,在实际的web应用程序中,它们都放在web-INF/Spring中,并用
类路径:Spring/Spring-*.XML
加载。这个很好用

问题是单元测试:我想测试各种不同的配置文件,而Spring似乎在通配符规范方面存在问题,比如当文件分布在多个目录上时

我认为最简单的解决方案就是在
@ContextConfiguration
测试注释中指定每个配置文件,但不幸的是,如果其中一个缺少,Spring会抛出一个异常,而且似乎没有办法关闭它

我认为的另一件事可能是在运行测试之前将所有spring配置文件转储到一个文件夹中,但这似乎有点困难


我只是想知道是否还有其他人有过这个问题的经验和解决方法。

看来Spring的人已经有了

您可以使用以下语法:

classpath*:spring/spring-*.xml

这似乎工作正常。

是的,这不是他们的错,类加载器就是这样工作的。请参见以下参考: