如何覆盖jUnit的属性文件(maven)

时间:2013-05-10 02:52:35

标签: maven properties override

我有一个Propertyfile config.properties,我在其中存储一个类,它加载一个类来读取文件。 属性加载如下:

public class PropertyConfig {
private static final Properties properties = new Properties();

static {
    try {
        ClassLoader loader = Thread.currentThread().getContextClassLoader();
        properties.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("config.properties"));
    } catch (IOException e) {
        throw new ExceptionInInitializerError(e);
    }
}

public static String getSetting(String key) {
    return properties.getProperty(key);
}

}

并且相关课程中的电话是这样的:

private static File savedGamesFolder = new File(PropertyConfig.getSetting("folder_for_saved_games"));

出于测试目的,我希望能够更改测试目录的路径,或者更改jUnit-TestCase中的整个Property文件。怎么能实现这个目标?

如果有帮助,我正在使用Maven。

1 个答案:

答案 0 :(得分:1)

假设您在

中有config.properties
src/main/resources/config.properties

注意:您应该将您的属性文件放在src/main/resources

中的某处

将测试配置放在

src/main/test/config.properties

就是这样。无需更改代码。