2011-11-18 13 views
13

क्या एक ही मॉड्यूल के भीतर यूनिट परीक्षणों से एकीकरण परीक्षण अलग करना संभव है?मेवेन - यूनिट परीक्षणों से अलग एकीकरण परीक्षण

मैं सरल पोम बनाया:

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <artifactId>prj</artifactId> 
    <packaging>war</packaging> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
        <encoding>UTF-8</encoding> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-surefire-plugin</artifactId> 
       <configuration> 
        <excludes> 
         <exclude>**/integration/**/*.java</exclude> 
        </excludes> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 

    <profiles> 
     <profile> 
      <id>integration</id> 
      <build> 
       <plugins> 
        <plugin> 
         <groupId>org.apache.maven.plugins</groupId> 
         <artifactId>maven-surefire-plugin</artifactId> 
         <configuration> 
          <includes> 
           <include>**/integration/**/*.java</include> 
          </includes> 
         </configuration> 
        </plugin> 
       </plugins> 
      </build> 
     </profile> 
    </profiles> 

</project> 

लेकिन साथ mvn -Pintegration परीक्षण यह कुछ भी आह्वान नहीं करता है। अगर मैं पर टिप्पणी करता हूं तो मुख्य निर्माण में अनुभाग को छोड़ देता है - फिर यह परीक्षण निष्पादित करना शुरू करता है, लेकिन प्रोफ़ाइल के बिना भी।

उत्तर

11
बजाय

:

<exclude>*/integration/**/*.java</exclude> 

कोशिश:

<include>*/unit/**.java</include> 

तो एकीकरण प्रोफ़ाइल में क्या

<includes> 
    <exclude>**/unit/**/*.java</exclude> 
    <include>**/integration/**/*.java</include> 
</includes> 

आप हो रही शामिल/शामिल नहीं बिल्कुल सही साथ खेलने के लिए हो सकता है, लेकिन यह सामान्य विचार है।

+0

हाँ, यह काम किया। ऐसा लगता है जैसे आप पैटर्न को बहिष्कृत करते हैं - आप प्रोफाइल में इसे ओवरराइड नहीं कर सकते हैं। – jdevelop

+0

मेवेन में ओवरराइड विशेष रूप से सिंटैक्टिक स्तर पर काम करते हैं जिसका अर्थ है कि आप तत्वों की तरह ओवरराइड कर सकते हैं –

+0

आपका सुझाव, यह प्लगइन 2.19.1 के लिए सही काम नहीं करता है। – fjjiaboming

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