2012-02-14 36 views
7
के लिए Maven परीक्षण निर्माण के दौरान एक मॉड्यूल पर ध्यान न दें

यह एक बहु मॉड्यूल Maven परियोजना में एक Maven परीक्षण का निर्माण (mvn clean test) को चलाने के लिए और छोड़ करना संभव है/एक विशेष मॉड्यूल के परीक्षण पर ध्यान न दें? -Dmaven.test.skip=true की तरह लेकिन एक विशेष मॉड्यूल के लिए और सभी मॉड्यूल नहीं? मैं अचूक <configuration> बदलने के लिए मॉड्यूल जो मैं परीक्षण के लिए छोड़ना चाहते के लिए <skipTests>true</skipTests> शामिल करना चाहते हैं न। मैं जानना चाहता था कि यह कमांड लाइन से किया जा सकता है या नहीं। मैं इस की जरूरत है, क्योंकि मेरी परियोजना में मैं कई मॉड्यूल है और विशेष रूप से एक या दो वास्तव में समय लगता है परीक्षण निष्पादित करने के लिए है, इसलिए जब मैं परीक्षण करने के लिए मॉड्यूल के केवल जोड़ी मैं इन समय को छोड़ मॉड्यूल लेने के लिए जो मैं नहीं है चाहता हूँ चाहते हैं कोई बदलाव कियाबहु मॉड्यूल Maven परियोजना

+1

हां। आप (http://maven.apache.org/guides/introduction/introduction-to-profiles.html) –

उत्तर

5

है वास्तव में आप अचूक प्लगइन का विन्यास बदलने के लिए के लिए एक समस्या है? आप इसे केवल अपने मॉड्यूल में एक बार बदलने की वजह से हो सकता है ...

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <version>2.12</version> 
      <configuration> 
       <skipTests>${skip.foo.module.tests}</skipTests> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

... और एक Maven संपत्ति को skipTests टैग के सही/गलत मूल्य, एक समर्पित प्रोफ़ाइल से सक्रिय प्रतिनिधि:

<properties> 
    <skip.foo.module.tests>false</skip.foo.module.tests> 
</properties> 

<profiles> 
    <profile> 
     <id>SKIP_FOO_MODULE_TESTS</id> 
     <properties> 
      <skip.foo.module.tests>true</skip.foo.module.tests> 
     </properties> 
    </profile> 
</profiles> 

ताकि आप कमांड लाइन के साथ फू मॉड्यूल में परीक्षण को निष्क्रिय कर सकते हैं:

mvn स्वच्छ परीक्षण -पी SKIP_FOO_MODULE_TESTS

+0

धन्यवाद Yanflea [Maven प्रोफाइल] पर पढ़ने की जरूरत है। हालांकि यह वही नहीं था जो मैं चाहता था, लेकिन यह मेरे लिए काम करता है। इस दृष्टिकोण के साथ में एक समय में एक प्रोफ़ाइल हो सकती है, इसलिए यदि मैं एक से अधिक मॉड्यूल के लिए परीक्षण छोड़ना चाहता हूं, तो मैं नहीं कर सकता। लेकिन वैसे भी यह बहुत कम होगा। – Jay

+0

आपके मॉड्यूल एक ही पेरेंट पोम साझा कर सकते हैं, जिसमें आप अपनी प्रोफाइल परिभाषित करते हैं। क्या आपको एक ही प्रोफ़ाइल का उपयोग करने से रोकने के लिए एक ही समय में कई बाल मॉड्यूल पर परीक्षण छोड़ने से रोकता है? – Yanflea

+0

यह केवल तभी काम करेगा जब मैं हर समय एक ही मॉड्यूल छोड़ना चाहता हूं। जब मैं विकास कर रहा हूं, कभी-कभी मैं मॉड्यूल -1 में परिवर्तन करता हूं जो मॉड्यूल -7 और मॉड्यूल -9 को प्रभावित नहीं करता है, इसलिए मैं उनको छोड़ना चाहता हूं, लेकिन कुछ अन्य समय में यदि मैं मॉड्यूल -3 में परिवर्तन करता हूं, जो प्रभावित करता है मॉड्यूल -7, लेकिन मॉड्यूल-9 नहीं, उस स्थिति में मैं केवल मॉड्यूल-9 को छोड़ना चाहता हूं। ऐसे परिदृश्यों के लिए, माता-पिता में प्रोफ़ाइल साझा करना काम नहीं करेगा। अब मैं अपने माता-पिता को विभिन्न मॉड्यूल और संयोजनों के परीक्षणों को छोड़ने के सभी प्रकार के प्रोफाइल के साथ प्रदूषित नहीं करना चाहता हूं। – Jay

0

आप को पूरा कर सकता है कि एक प्रोफाइल है कि अचूक के विन्यास को छोड़ने के लिए किया था के साथ। इससे आपको अधिकांश समय परीक्षण चलने की अनुमति मिलती है, लेकिन जब आप कभी-कभी मॉड्यूल में से किसी एक के लिए परीक्षण छोड़ना चाहते थे, तो आप उस प्रोफ़ाइल का आह्वान कर सकते थे। फिर आप स्किप परीक्षणों का उपयोग करके सभी परीक्षणों को बाहर कर सकते हैं या आप लंबे समय तक निष्पादित किए गए एक या दो परीक्षणों को बाहर करने के लिए विकल्प को बहिष्कृत कर सकते हैं।

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