And*_*y A 5 java junit unit-testing easymock resourcebundle
我正在创建一个Java单元测试来测试我最近更改的一些代码.但是,我测试的方法实例化一个使用ResourceBundle的类...
ResourceBundle.getBundle("businessVariables").getString("product.name"));
Run Code Online (Sandbox Code Playgroud)
资源文件位于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
Run Code Online (Sandbox Code Playgroud)
我该怎么办?我可以启用测试以某种方式查看资源包吗?我可以在某处以某种方式创建一个模拟资源文件,代码将能够看到吗?
如果您根据Maven原型构建项目结构,理想情况下您的资源包应该在Mycompany_xml/src/test/resources中.然后,您可以使用mvn test从项目主目录运行单元测试,即Mycompany_xml目录.
打包战争时,使用maven-assembly-plugin将资源包从Mycompany_xml/src/test/resources复制到war.
| 归档时间: |
|
| 查看次数: |
8956 次 |
| 最近记录: |