我目前正在研究JUnit测试,该测试检查负责从/向某个文件加载/保存进程配置的功能。考虑到资源中存在特定的配置文件,该功能从文件加载参数。否则,该功能会尝试创建新的配置文件并保留在该类中编码的默认配置。现在我正在使用.class.getResource()方法来检查配置文件是否存在,并检索必要的信息。从maven的“测试类”和“类”目录中证明这种方法工作正常。但是,当文件不存在时尝试保存默认配置时,我遇到了问题,即.class.getResource()方法返回null,因为资源尚不存在。这阻止我建立目标资源目录(依赖于上下文)来保存文件。在java maven项目中获取当前工作资源目录
有没有一种方法来编写我的功能来评估特定对象是作为测试执行还是在生产中执行?更确切地说,如何根据执行模式建立一个指向资源文件的相对路径,以指向生产资源(../ classes/...)或测试资源(../test-classes/ ..)该项目目前是哪个?
我的问题有点类似于下面的How should I discover test-resource files in a Maven-managed Java project?,但我认为它不足以保证新的线程。
如果您觉得答案可以解决您的问题,请相应标记。 :) – 2012-08-13 23:28:50