2010-09-16 13 views
5

के दौरान संसाधन बंडल लोड नहीं कर सकता है मैं अपने ऐप में पुरानी कक्षाओं का परीक्षण करने के लिए कुछ जूनिट परीक्षण लिखने की कोशिश कर रहा हूं। कोड संसाधन बंडल (अनुवादों के लिए) लोड करने का प्रयास कर रहा है लेकिन विफल रहता है। मुझे लगता है कि समस्या क्लासपाथ से संबंधित है लेकिन मैं इसे समझ नहीं सकता।जूनिट परीक्षण

कोड/src में कोड डाला गया है और मेरे परीक्षण/परीक्षण में हैं। संसाधन बंडल को/src, say, "foo/bar/baz" के सापेक्ष आधार नाम दिया जाता है।

मेरे परीक्षण उसी क्लासपाथ का उपयोग ऐप के रूप में करते हैं, इसलिए मुझे समझ में नहीं आता कि यह बंडल क्यों नहीं मिलेगा।

क्या गलत है इसके बारे में कोई विचार?

+0

क्या आपके परीक्षण '/ test' नामक निर्देशिका के अंतर्गत हैं? – Asaph

+0

यदि आप अपने संसाधन बंडलों को अस्थायी रूप से सापेक्ष पथ को अस्थायी रूप से बदलते हैं, तो क्या समस्या दूर हो जाती है? – Asaph

उत्तर

6

संसाधन स्रोत फ़ोल्डर से लेकिन क्लास निर्देशिका से हल नहीं किए जाते हैं। क्या आपकी संसाधन फ़ाइलों को आउटपुट फ़ोल्डर (बिन, लक्ष्य/कक्षा आदि) में कॉपी किया गया है? यदि नहीं, तो आपकी कक्षाएं उन्हें नहीं मिल सकती हैं।

+0

डी'ओह! बेशक, मेरे परीक्षण ऐप की तुलना में एक और आउटपुट निर्देशिका का उपयोग करते हैं। यह निश्चित रूप से यह है। – fiskeben

5

यदि आप मेवेन का उपयोग कर रहे हैं, तो आप आम तौर पर src/main/resources/ नामक एक अलग स्रोत फ़ोल्डर में सभी प्रकार की गुण फ़ाइलें और संसाधन बंडल रखना चाहते हैं।

यदि आप अपने यूनिट परीक्षणों में मूल्यों को ओवरराइड करना चाहते हैं तो आप एक डुप्लिकेट प्रोप जोड़ सकते हैं। src/test/resources स्रोत फ़ोल्डर में फ़ाइल करें।

संबंधित मुद्दे