我有一个attributesloader类,它选择一个配置文件,检索变量并将其值设置为对象。
例子:
if (validatePropertyValue(configuration.getString(PROPERTY_RECORD_LIMIT))) {
extractionAttributesBuilder.setRecordLimit(configuration.getInt(PROPERTY_RECORD_LIMIT));
}
代码运行良好,但我很难为某些属性编写测试。因为代码拾取一个文件,所以在src/test/resources中有一个cfg文件。其中一个属性是指向目录的路径。。
我试着这样做:
path=new File(AttributesLoaderTest.class.getResource("/extractPath").getPath()));
但它不起作用,因为它查找路径:new file(attributesloadertest.class.getresource(“/extractpath”).getpath());没用的。。
我的问题是:
如何在文件中提供src/test/resources目录的路径而不进行硬处理?
path=/extractPath
1条答案
按热度按时间rhfm7lfc1#
一个选项可以是将根作为系统属性传递,并使用它组成文件的路径。
在
pom.xml
例如,可以按如下方式设置系统属性:在junit类中,您可以:
注意:尚未测试上述代码,因此可能包含一些错误。