5

アプリで古いクラスをテストするために、いくつかの Junit テストを作成しようとしています。コードは ResourceBundle (翻訳用) を読み込もうとしていますが、失敗します。問題はクラスパスに関連していると思いますが、わかりません。

コードは /src に配置され、私のテストは /test にあります。ResourceBundle は、"foo/bar/baz" のように、/src に関連するベース名を指定してロードされます。

私のテストではアプリ自体と同じクラスパスを使用しているため、バンドルが見つからない理由がわかりません。

何が間違っているかについてのアイデアはありますか?

4

2 に答える 2

8

リソースは、ソース フォルダーからではなく、クラス ディレクトリから解決されます。リソース ファイルは出力フォルダー (bin、target/classes など) にコピーされていますか? そうでない場合、クラスはそれらを見つけることができません。

于 2010-09-16T13:52:08.513 に答える
8

Maven を使用している場合は、通常、すべての種類のプロパティ ファイルとリソース バンドルを という別のソース フォルダーに配置しますsrc/main/resources/

単体テストで値をオーバーライドする場合は、複製された prop を追加できます。src/test/resourcesソースフォルダー内のファイル。

于 2012-11-19T10:01:00.087 に答える