在junit测试期间无法加载ResourceBundle

时间:2010-09-16 13:30:37

标签: java junit resourcebundle

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

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

我的测试使用与应用程序本身相同的类路径,因此我不明白为什么它不会找到这些包。

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

2 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:5)

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

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