2012-01-24 121 views
0

我写了一个类FetchProp,它扩展了从属性文件中获取值的类PropMap。当我运行FetchProp作为junit测试用例时,它给了我正确的输出,即它以我想要的方式获取属性。然后,我创建了类CreateReport调用FetchProp的方法,它有助于生成报告。但是,当我在CreateReport上运行测试用例时,FetchProp不会像以前那样在独立运行时获取属性?无法从属性文件获取属性?

任何一个可以建议可能是什么问题

PS:我已经检查其属性文件被放置在前进,我显示的属性我每次运行程序和文件中有我想要的属性时文件路径要得到。

+2

你可以发布一些示例代码,显示你正在描述的行为吗? – casablanca

+0

wheres代码 –

回答

0

这可能取决于您如何获取您的属性文件。如果你正在使用类似的东西:

private Properties readProps() throws FileNotFoundException, IOException { 
    File f = new File("c:\\path\\to\\file\\props.properties"); 
    Properties props = new Properties(); 
    props.load(new FileInputStream(f)); 
    return props; 
} 

...那么它可能在你的单元测试工作,但不是在运行应用程序时。你可能想尝试类似于:

private Properties readProps2() throws IOException { 
    InputStream stream = this.getClass().getResourceAsStream("props.properties"); 
    Properties props = new Properties(); 
    props.load(stream); 
    return props; 
} 

...它从classpath读取文件而不是。