2012-05-30 34 views
5

मैं कुछ कोड मैं हाल ही में बदल परीक्षण करने के लिए एक जावा इकाई परीक्षण बनाने हूँ उपयोग नहीं कर सकते। हालांकि, विधि मैं परीक्षण कर रहा हूँ Mycompany_xml/src/test/java/uk/co/mycompany/xmlapi/RequestProcessorTestNew.javaजावा इकाई परीक्षण ResourceBundle

पर एक वर्ग जो ResourceBundle का उपयोग करता है ...

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

वेब पैकेज में संसाधन फ़ाइल जीवन मेरी एक्सएमएल पैकेज में मेरा परीक्षण जीवन पर Mycompany_web/src/main/webapp/WEB-INF/classes/businessVariables.properties

को दर्शाता है सामान्य के दौरान रनटाइम संसाधन बंडल सुलभ है, लेकिन जब मेरा यूनिट परीक्षण चलाया जाता है। यह इस त्रुटि को फेंकता है ...

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 

मुझे क्या करना चाहिए? क्या मैं किसी भी तरह संसाधन बंडल देखने के लिए अपना परीक्षण सक्षम कर सकता हूं? क्या मैं कहीं नकली संसाधन फ़ाइल बना सकता हूं जो किसी भी तरह से कोड देख पाएगा?

+0

आप बंडल 'en_Us' स्थान सूट करने के लिए नाम बदलने की कोशिश की? , Http://stackoverflow.com/questions/2083159/cant-find-bundle-for-base-name – Asaf

+0

देखने वैसे भी, Kaylan के जवाब निम्नलिखित '/ webapp/वेब-INF/classes' एक * लक्ष्य * फ़ोल्डर की तरह लगता है। अपनी परियोजना संरचना में देखें - बंडल फ़ाइल बेहतर होगी उदा। 'Mycompany_web/src/मुख्य/संसाधन/businessVariables.properties' – Asaf

उत्तर

5

आप Maven मूलरूप आदर्श के अनुसार अपनी परियोजना संरचना का निर्माण किया है, अपने संसाधन बंडल आदर्श Mycompany_xml/src/परीक्षण/संसाधनों में होना चाहिए। फिर आप एमवीएन परीक्षण का उपयोग कर प्रोजेक्ट होम i.e. Mycompany_xml निर्देशिका से यूनिट परीक्षण चला सकते हैं।

युद्ध पैकेजिंग, वहीं युद्ध Maven-विधानसभा-प्लग इन का उपयोग करने के लिए Mycompany_xml/src/परीक्षण/संसाधनों से संसाधन बंडल कॉपी।

+0

यह सही है। हालांकि, यह भी ध्यान रखें कि पोम फ़ाइल संसाधनों file.e.g $ {basedir}/conf डाल करने के लिए एक विकल्प के जगह को परिभाषित कर सकते –

1

classpath अपने इकाई परीक्षण में चल रहा है करने के लिए

Mycompany_web/src/main/webapp/WEB-INF/classes/ 

जोड़ें।