在junit测试期间无法加载ResourceBundle

fis*_*ben 5 java junit resourcebundle

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

代码在/ src中布局,我的测试在/ test中.在给定相对于/ src的基本名称的情况下加载ResourceBundle,例如"foo/bar/baz".

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

对于什么是错的任何想法?

Sea*_*oyd 6

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


小智 6

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

如果要覆盖单元测试中的值,则可以添加重复的prop.src/test/resources源文件夹中的文件.