在junit测试期间无法加载ResourceBundle

我正在尝试编写一些Junit测试来测试我们的应用程序中的旧类。 代码正在尝试加载ResourceBundle(用于翻译)但失败了。 我想问题是类路径相关但我无法弄明白。

代码在/ src中布局,我的测试在/ test中。 给定一个相对于/ src的基本名称的ResourceBundles,比如“foo / bar / baz”。

我的测试使用与app本身相同的类路径,所以我不明白它为什么找不到捆绑包。

什么错误的想法?

资源不是从源文件夹解析,而是从类目录解析。 您的资源文件是否已复制到输出文件夹(bin,target / classes等)? 如果没有,你的课程找不到它们。

如果您使用的是maven,通常需要将所有类型的属性文件和资源包放在名为src/main/resources/的单独源文件夹中。

如果要覆盖unit testing中的值,则可以添加重复的prop。 src/test/resources源文件夹中的文件。