2010-11-29 31 views
5

2 Maven परियोजनाओं, स्रोतों के लिए एक है से कक्षाओं का परीक्षण करती है क्लास-ए .. और एक और एक: ProjTest कक्षा के लिए एक परीक्षण क्लास वाली एक नाम कक्षा-ए-टेस्ट। मैं चाहता हूं कि मेरी टेस्ट क्लास चलाने के लिए जब मैं एक एमवीएन कॉल करता हूं: ProjSource पर स्थापित करें।आह्वान एक और Maven परियोजना

ऐसी चीज करने का सबसे आसान तरीका क्या है? ध्यान दें कि यूनिट परीक्षणों के साथ मेरा अनुभव बहुत बुनियादी है .. मुझे नहीं पता कि क्लावे-ए-टेस्ट क्लास-ए का परीक्षण करने के लिए डिज़ाइन किया गया है।

मैवेन-जार का उपयोग करके वर्णित चरणों का पालन करता हूं परीक्षण-जार लक्ष्य here साथ -plugin और परिभाषित जिसके परिणामस्वरूप * ** * ** * ProjSourceके लिए एक निर्भरता के साथ के रूप में -tests.jar:

<type>test-jar</type> 
<scope>test</scope> 

लेकिन जब मैं एक एमवीएन चलाएं: आउटपुट, स्थापित करें कहता है कि: " चलाने के लिए कोई परीक्षण नहीं है"। क्या मुझे कुछ याद आया है?

कोई भी मदद अत्यधिक सराहनीय है, और बहुत से धन्यवाद अग्रिम!

सादर,

उत्तर

3
  1. इसे उस तरह से नहीं करते हैं। ऐसा करने के लिए मेवेन तरीका src/main/java के तहत मानक स्रोत होना चाहिए और src/test/java के तहत परीक्षण स्रोत हैं। डिफ़ॉल्ट रूप से, परिणामी जेएआर में मानक स्रोत जोड़े जाएंगे, जबकि परीक्षण स्रोत डीआईआर में परीक्षण स्वचालित रूप से निष्पादित किए जाएंगे। यह अच्छी तरह से परीक्षण किया गया व्यवहार है, इसे क्यों बदलते हैं? यदि आप एक परीक्षण जार चाहते हैं/चाहते हैं, तो जार कॉल करें: इस परियोजना के pom.xml में test-jar और बिल्डहेपर प्लगइन को attach the resulting artifact पर तैनाती के लिए उपयोग करें। इस तरह आप मानक प्रोजेक्ट लेआउट रख सकते हैं और अभी भी एक परीक्षण जार है।

  2. यदि आप इसे करने का आग्रह करते हैं, तो आपको इसे दूसरी तरफ करना होगा। परीक्षण परियोजना को मुख्य परियोजना पर निर्भरता होनी चाहिए (आप जो नहीं जानते हैं उसका परीक्षण नहीं कर सकते हैं)। मैं परीक्षण परियोजना में केवल src/test/java में परीक्षण कोड डालने का सुझाव दूंगा, तो मैवेन का जादू डिफ़ॉल्ट तरीके से काम कर सकता है। यहां से ऊपर से बोल्ड टेक्स्ट डालें।

लेकिन कारण है कि Maven जीवन चक्र के रूप में यह था परिभाषित किया गया था कि विफल परीक्षण निर्माण विफल अपेक्षा की जाती है है। लाइब्रेरी बनाने में कोई बात नहीं है जो ऐसा नहीं करता है जो इसे करना है।

+0

धन्यवाद फ़्लॉइड, मैंने आपके सुझाव की कोशिश की लेकिन दुर्भाग्य से यह काम नहीं किया .. अब मैं मैवेन को बताने का एक तरीका ढूंढने की कोशिश कर रहा हूं कि मेरी टेस्ट क्लासेस एक जेएआर फ़ाइल में पैक की जाती हैं, और उस जार की खोज के लिए "परीक्षण चरण" निष्पादित करना। जो मैं चाहता हूं उसके करीब है, लेकिन यह टैग केवल एक स्रोत के रूप में एक फ़ोल्डर को स्वीकार करता है, जार नहीं .. कृपया ध्यान दें कि ये मेरी कंपनी की आवश्यकताओं हैं, सभी परीक्षण एक जार में पैक किए जाते हैं (मेवेन का उपयोग शुरू करने से पहले किया जाता है ...) –

+0

एक परीक्षण जार? यदि यह समस्या है, तो मेरा अद्यतन उत्तर देखें। –

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