Reputation: 3467
I'm trying to write some Junit tests to test old classes in our app. The code is trying to load a ResourceBundle (for translations) but fails. I guess the problem is classpath related but I can't figure it out.
The code is laid out in /src and my tests are in /test. The ResourceBundles are loaded given a base name relative to /src, say, "foo/bar/baz".
My tests use the same classpath as the app itself, so I don't understand why it won't find the bundles.
Any ideas to what's wrong?
Upvotes: 5
Views: 12056
Reputation: 371
If you are using maven, you typically want to put all kind of properties files and resource bundles in a separate source folder called src/main/resources/
.
If you want to override values in your unit tests then you can add a duplicate prop. file in the src/test/resources
source folder.
Upvotes: 9
Reputation: 299218
Resources are not resolved from the source folder but from the class directory. Are your resource files copied to the output folder (bin, target/classes etc.) ? If not, your classes can't find them.
Upvotes: 8