junit 测试期间无法加载 ResourceBundle

发布于 2024-09-19 03:43:32 字数 248 浏览 3 评论 0原文

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

代码位于 /src 中,我的测试位于 /test 中。 ResourceBundle 加载时会给出相对于 /src 的基本名称,例如“foo/bar/baz”。

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

对出了什么问题有什么想法吗?

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?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

睫毛上残留的泪 2024-09-26 03:44:03

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

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.

非要怀念 2024-09-26 03:43:58

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

如果您想覆盖单元测试中的值,那么您可以添加重复的道具。文件位于 src/test/resources 源文件夹中。

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文