2013-05-23 11 views
10

निष्पादित नहीं करता है मैं बहु-मॉड्यूल के साथ मेवेन का उपयोग कर रहा हूं। 3 परियोजनाएं हैं।मेवेन किसी इकाई परीक्षण

foo(the parent project) 
foo-core 
foo-bar 

मैं सभी निर्भरता और प्लग इन foo के पोम में कॉन्फ़िगर करें:

<modules> 
    <module>../foo-core</module> 
    <module>../foo-bar</module> 
</modules> 

<dependencyManagement> 
    <dependencies> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.11</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      ... 
     </dependency> 
    </dependencies> 
</dependencyManagement> 

<build> 
    <pluginManagement> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>2.3.1</version> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-surefire-plugin</artifactId> 
       <version>2.14.1</version> 
       <dependencies> 
        <dependency> 
        <groupId>org.apache.maven.surefire</groupId> 
        <artifactId>surefire-junit47</artifactId> 
        <version>2.14.1</version> 
        </dependency> 
       </dependencies> 
      </plugin> 
     </plugins> 
    </pluginManagement> 
</build> 

कई आधार वर्ग और foo-core में इकाई परीक्षण के लिए util वर्गों रहे हैं, तो मैं करने के लिए foo-core परियोजना में maven-jar-plugin जोड़ने जब मैंपर अमल

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jar-plugin</artifactId> 
      <version>2.3.1</version> 
      <executions> 
       <execution> 
        <goals> 
         <goal>test-jar</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 

: यह उपलब्ध foo-bar कोलक्ष्य, मुझे परिणाम के रूप में परिणाम मिला:

------------------------------------------------------- 
T E S T S 
------------------------------------------------------- 
parallel='none', perCoreThreadCount=true, threadCount=2, useUnlimitedThreads=false 

Results : 

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0 

मुझे अपनी परियोजनाओं में परीक्षण मिलते हैं। लेकिन यह उनमें से किसी को क्यों नहीं चलाता है? **Test.java को **Tests.java से

+0

के लिए निम्न विन्यास परीक्षण फ़ाइलों के नाम अचूक पृष्ठ पर सूचीबद्ध लोगों के साथ पालन करें जोड़ सकता हूँ? http://maven.apache.org/surefire/maven-surefire-plugin/examples/inclusion-exclusion.html –

+0

@Grzegorz हां। सभी टेस्ट फाइलों का नाम *** टेस्ट.जावा रखा गया है। –

+0

यदि ऐसा है तो कृपया उत्तर देखें। –

उत्तर

15

नाम बदलें परीक्षण फाइल या pom.xml

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.14.1</version> 
    <configuration> 
    <includes> 
     <include>**/*Tests.java</include> 
    </includes> 
    </configuration> 
</plugin> 
+0

अरे! मैं इतना अंधा कैसे हो सकता है! –

+1

@ किरीन याओ चिंता मत करो! मुझे केवल जवाब पता था क्योंकि मैंने हर परियोजना की शुरुआत में भी यही गलती की थी। :-) –

+0

यह मेरे लिए काम नहीं करता है। मेरे पास एक वर्ग "OptimizerTest.java" है और यह बिना किसी समावेशन के पूरी तरह से काम करता है, लेकिन दूसरी कक्षा "OptimizerTest2.java" काम नहीं करती है। अगर मैं mvn चलाता हूं: test -Dtest = OptimizerTest मुझे 3 टेस्ट पैससेड के साथ निर्मित सफलता मिलती है, अगर मैं एक ही कमांड चलाता हूं लेकिन ऑप्टिमाइज़रटेस्ट 2 के लिए मुझे बिल्ड विफलता मिलती है, परीक्षण रन: 0 जहां ऑप्टिमाइज़रटेस्ट 2 केवल एक ° _ ° की एक प्रति है – Aerox

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