Java unit-test keinen Zugriff auf ResourceBundle
Erstelle ich ein Java-unit-test zu testen, einige der code, den ich vor kurzem geändert. Jedoch die Methode, die ich die Prüfung instanziiert eine Klasse, die verwendet ResourceBundle ...
ResourceBundle.getBundle("businessVariables").getString("product.name"));
Die Ressource-Datei lebt in dem web-Paket bei Mycompany_web/src/main/webapp/WEB-INF/classes/businessVariables.properties
Mein test Leben in meinem xml-Paket an Mycompany_xml/src/test/java/uk/co/mycompany/xmlapi/RequestProcessorTestNew.java
Während der normalen Laufzeit die Ressource-bundle zugänglich ist, aber nicht, wenn meine unit-test ausgeführt wird. Es wirft diese Fehlermeldung ...
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
Was soll ich tun? Aktiviere ich mein test, um zu sehen, das Ressourcen-bundle irgendwie? Kann ich ein mock-Ressource-Datei irgendwo, irgendwie wird der code in der Lage sein, es zu sehen?
- Haben Sie versucht, die Umbenennung der bundle-suite für die
en_Us
locale? siehe stackoverflow.com/questions/2083159/... - Jedenfalls, folgende Kaylan Antwort
/webapp/WEB-INF/classes
scheint wie eine den Ziel-Ordner. Schauen Sie in die Struktur Ihres Projekts - die bundle-Datei würde besser werden, z.B.Mycompany_web/src/main/resources/businessVariables.properties
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie bauen die Struktur Ihres Projekts nach Maven-Archetyp, Ihre Ressourcen bündeln sollten idealerweise in Mycompany_xml/src/test/resources. Dann können Sie unit-tests von Projekt-home also Mycompany_xml Verzeichnis mit mvn test.
Verpackung während des Krieges, kopieren Sie die Ressource-bundle aus Mycompany_xml/src/test/resources um den Krieg mit maven-assembly-plugin.
Hinzufügen
dem classpath Ihrer unit-test ausgeführt wird.