2012-01-24 8 views
0

私はプロパティファイルから値を取得するクラスPropMapを拡張するFetchPropを書いています。私が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; 
} 

...代わりにクラスパスからファイルを読み込むことができます。

関連する問題