2010-12-08 10 views
23

कुछ निम्न की तरह कुछ।क्या एक निश्चित पैकेज में परीक्षण छोड़ने के लिए सुनिश्चित करने का कोई तरीका है?

मैं निश्चित रूप से अपने दाओ परीक्षणों को छोड़ने का एक तरीका चाहूंगा। सूट परिभाषित करने के ऊपरी भाग से बचने की कोशिश कर रहा है।

सीआई के साथ मैं एक रात्रिभोज करना चाहता हूं जो सभी परीक्षण चलाता है और एससीएम का 5 मिनट का चुनाव करता है जो केवल 'तेज' परीक्षण चलाता है।

mvn -DskipPattern=**.dao.** test 

उत्तर

16

ज़रूर, कोई समस्या नहीं:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.6</version> 
    <configuration> 
     <excludes> 
     <!-- classes that include the name Dao --> 
     <exclude>**/*Dao*.java</exclude> 
     <!-- classes in a package whose last segment is named dao --> 
     <exclude>**/dao/*.java</exclude> 
     </excludes> 
    </configuration> 
</plugin> 

संदर्भ:

(शामिल नहीं कमांड लाइन के माध्यम से कॉन्फ़िगर नहीं किया जा सकता है, इसलिए यदि आप चाहते हैं इस व्यवहार को सशर्त रूप से चालू करें, आपको एक प्रोफ़ाइल को परिभाषित करना होगा और कमांड लाइन पर इसे सक्रिय करना होगा)

+2

6 साल बाद और surefire.excludes अभी भी आदेश पंक्ति पर काम नहीं करता: followin 0 परीक्षण चलेंगे। –

37

मुझे शॉन के उत्तर का विस्तार करने दें।

<properties> 
    <exclude.tests>nothing-to-exclude</exclude.tests> 
</properties> 
<profiles> 
    <profile> 
    <id>fast</id> 
    <properties> 
     <exclude.tests>**/*Dao*.java</exclude.tests> 
    </properties> 
    </profile> 
</profiles> 
<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <configuration> 
    <excludes> 
    <exclude>${exclude.tests}</exclude> 
    </excludes> 
    </configuration> 
</plugin> 

तो सीआई में आप उन्हें इस तरह शुरू:

mvn -Pfast test 

यह है कि यह वही है आप pom.xml में सेट है।

1

कमांडलाइन का उपयोग करके परीक्षणों को बाहर करना संभव है; बाहर करने के लिए ! का उपयोग कर।

नोट: मुझे यकीन नहीं है लेकिन संभवतः काम करने के लिए निश्चित रूप से 2.1 9 .1 या बाद के संस्करण की आवश्यकता है।

उदाहरण:

इस TestHCatLoaderEncryption

mvn install '-Dtest=!TestHCatLoaderEncryption' 

नहीं चलेंगे एक पैकेज को बाहर:

mvn install '-Dtest=!org.apache.hadoop.**' 

रूप में अच्छी तरह सकारात्मक फिल्टर के साथ जोड़ा जा सकता है;

mvn install '-Dtest=Test*CatLoaderEncryption,!TestHCatLoaderEncryption' 
संबंधित मुद्दे

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