当前位置: 首页 > 面试题库 >

Java单元测试无法访问ResourceBundle

宰父飞白
2023-03-14
问题内容

我正在创建一个Java单元测试来测试一些我最近更改的代码。但是,我正在测试的方法实例化了一个使用ResourceBundle的类……

ResourceBundle.getBundle("businessVariables").getString("product.name"));

资源文件位于Web包中,位于 Mycompany_web/src/main/webapp/WEB- INF/classes/businessVariables.properties

我的测试保存在我的xml包中
Mycompany_xml/src/test/java/uk/co/mycompany/xmlapi/RequestProcessorTestNew.java

在正常运行时,资源束是可访问的,但在运行单元测试时则不可访问。它引发此错误……

Testcase: testCreateInitialStatusResponse(uk.co.mycompany.xmlapi.RequestProcessorTestNew):  Caused an ERROR
null
java.lang.reflect.InvocationTargetException
    at uk.co.mycompany.xmlapi.RequestProcessorTestNew.testCreateInitialStatusResponse(RequestProcessorTestNew.java:62)
Caused by: java.lang.ExceptionInInitializerError
    at uk.co.mycompany.xmlapi.RequestProcessorImpl.createInitialStatusResponse(RequestProcessorImpl.java:812)
Caused by: java.util.MissingResourceException: Can't find bundle for base name businessVariables, locale en_US

我该怎么办?我可以启用测试以某种方式查看资源包吗?我可以在某个地方以某种方式看到代码的模拟资源文件吗?


问题答案:

如果您已经按照Maven原型构建了项目结构,则理想情况下,资源束应位于Mycompany_xml / src / test /
resources中。然后,您可以使用mvn test从项目主页(即Mycompany_xml目录)运行单元测试。

在打包战争时,使用maven-assembly-plugin将资源包从Mycompany_xml / src / test /
resources复制到战争中。



 类似资料:
  • 问题内容: 我刚刚升级到Xcode 6 beta 4,其中Swift编译器现在支持access修饰符。 这给我带来了一个问题,因为我的单元测试现在无法编译(由于类未公开)。 简单的解决方案当然是将所有经过测试的类公开,但这听起来像是骇客(我个人的喜好是即使在非公共类上也编写单元测试)。 在.NET和Java中,通常可以允许单元测试程序集级别(或Java / OSGi中的捆绑包级别)从单元测试程序集

  • 我试图讨论下面SonarQube通过代码覆盖的if条件。SonarQube说2个条件中的1个都被覆盖了。如果有人能帮我把这两件事都盖上,我将不胜感激。 我已经声明了变量,并拥有了setter和getter。 下面是我要介绍的代码: 下面是测试2个条件中的1个条件的代码:

  • 我在pycharm中调试单元测试时遇到问题。我可以使用我的配置很好地运行它们,但当我运行调试器时,会得到以下错误输出: 我的目录结构是: 我的unittest配置是: 看起来像: 做什么?如何确保在调试期间找到它?问题实际上与正在查找的文件/目录无关吗?

  • 问题内容: 我有以下指令。 当我测试它时: 我收到一个错误消息,说对象没有addWiki方法。我尝试调试它,并且在测试过程中未调用链接函数。我怀疑这就是为什么addWiki方法不属于范围的原因。有人知道为什么我会收到此错误吗? 顺便说一句,在指令的链接函数中添加一些逻辑是正常的做法,因为它本身就是Controller?因为看代码我知道这就是为什么我在做。 问题答案: 您需要加载该模块包含您的指示,

  • 问题内容: 我想知道什么是对Servlet进行单元测试的最佳方法。 只要测试内部方法不引用servlet上下文,就不会有问题,但是测试doGet / doPost方法以及引用上下文或使用会话参数的内部方法又如何呢? 有没有一种方法可以简单地使用经典工具(例如JUnit或最好是TestNG)来做到这一点?我是否需要嵌入tomcat服务器或类似的东西? 问题答案: 尝试使用HttpUnit,尽管您最终

  • 我试图学习如何在spring中使用Java8进行单元测试/mockito测试,但遇到了一些问题。我试图测试我的方法findUserById,但它一直运行false。可选类型问题是一个问题,但可能已经解决了这些问题。然而,它仍然是错误的。我的其他测试都是有效的,所以这只是一个顽固的测试。我将感谢你的帮助。