Estoy creando una prueba de unidad Java para probar algún código que cambié recientemente. Sin embargo, el método que estoy probando una instancia de una clase que utiliza ResourceBundle ...La prueba de unidad de Java no puede acceder a ResourceBundle
ResourceBundle.getBundle("businessVariables").getString("product.name"));
el archivo de recursos reside en el paquete web en Mycompany_web/src/main/webapp/WEB-INF/classes/businessVariables.properties
mi prueba de vida en mi paquete XML en Mycompany_xml/src/test/java/uk/co/mycompany/xmlapi/RequestProcessorTestNew.java
Durante la normalidad En tiempo de ejecución, el paquete de recursos está accesible, pero no cuando se ejecuta la prueba de mi unidad. Se lanza este error ...
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
¿Qué debo hacer? ¿Puedo habilitar mi prueba para ver el paquete de recursos de alguna manera? ¿Puedo crear un archivo de recursos simulados en alguna parte que de alguna manera el código pueda ver?
¿Ha intentado cambiar el nombre del paquete a la habitación del 'locale en_Us'? ver http://stackoverflow.com/questions/2083159/cant-find-bundle-for-base-name – Asaf
De todos modos, siguiendo la respuesta de Kaylan, '/ webapp/WEB-INF/classes' parece una carpeta * target *. Mire en la estructura de su proyecto: el archivo del paquete sería mejor, por ej. 'Mycompany_web/src/main/resources/businessVariables.properties' – Asaf