Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can't load ResourceBundle during junit test

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?

like image 1000
fiskeben Avatar asked Sep 16 '10 13:09

fiskeben


2 Answers

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.

like image 104
Sean Patrick Floyd Avatar answered Sep 22 '22 15:09

Sean Patrick Floyd


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.

like image 23
Morten Avatar answered Sep 22 '22 15:09

Morten