2013-03-27 6 views
7

मैं जूनिट पर जूनिट का उपयोग कर रहा हूं और 1.3 पर हैमक्रिस्ट-कोर घोषित करता हूं और 1.3 पर हैमक्रिस्ट-लाइब्रेरी घोषित करता हूं। मेरा सवाल है कि जूनिट 4.10 में एम्बेडेड हैमक्रिस्ट-लाइब्रेरी और हैमक्रिस्ट-कोर है। जूनिट 4.11 के बारे में क्या?जूनिट और हैमक्रिस्ट घोषणा

<dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.10</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.hamcrest</groupId> 
     <artifactId>hamcrest-core</artifactId> 
     <version>1.3</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.hamcrest</groupId> 
     <artifactId>hamcrest-library</artifactId> 
     <version>1.3</version> 
     <scope>test</scope> 
    </dependency> 

उत्तर

8

आप search.maven.org ब्राउज़ यदि आप कलाकृतियों के लिए खोज और उनके निर्भरता देख सकते हैं। यदि आप एक्लेप्से बुद्धि मेवेन प्लगइन का उपयोग कर रहे हैं, तो आप पीओएम संपादक में निर्भरता पदानुक्रम पर भी क्लिक कर सकते हैं।

Maven website पर देख रहे हैं आप देख सकते हैं कि JUnit 4.11 Hamcrest 1.3 पर निर्भर करता है:

<dependencies> 
    <dependency> 
     <groupId>org.hamcrest</groupId> 
     <artifactId>hamcrest-core</artifactId> 
     <version>1.3</version> 
     <scope>compile</scope> 
    </dependency> 
</dependencies> 

Hamcrest पुस्तकालय आप अपने आप को जोड़ने के लिए।

+0

क्या मुझे जूनिट 4.11 का उपयोग करते समय स्पष्ट रूप से हैमक्रिस्ट-कोर 1.3 निर्भरता जोड़ने की आवश्यकता है ?? जब मैंने इसे गुगल किया तो उसने कहा कि "जुनीट 4.11 में अब org.hamcrest कक्षाएं शामिल नहीं हैं।" दोनों बयान विरोधाभास कर रहे हैं। – user1772643

+0

एक निर्भरता के रूप में hamcrest होने और hamcrest कक्षाओं सहित 2 अलग चीजें हैं। "कक्षाओं सहित" का अर्थ है कि कक्षाएं junit.jar में हैं। "एक निर्भरता के रूप में" का अर्थ है कि आपको जूनिट बनाने/चलाने के लिए हैमस्ट्रस्ट जार की आवश्यकता है। (यदि आप मेवेन का उपयोग कर रहे हैं: निर्भरता आपके क्लासपाथ में ऑटो-जादुई रूप से शामिल होगी। अगर आप मेवेन का उपयोग नहीं कर रहे हैं तो आपको अपने क्लासपाथ में निर्भरता को मैन्युअल रूप से जोड़ना होगा) – ben75

+0

@ ben75 सही है। उनका मतलब है कि * जार में कोई और हैमक्रिस्ट कक्षाएं नहीं हैं। हालांकि यह उन पर निर्भर करता है जो एक और जार में हैं, जो यह निर्भर करता है। – Alex

3

JUnit 4.10 & JUnit 4.11 (नीचे के रूप में दिखाया गया):

<dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.11</version> 
     <scope>test</scope> 
    </dependency> 

... hamcrest कोर 1.1 और 1.3 क्रमशः के साथ जहाज। आप खुद के लिए यह देख सकते हैं निर्भरता प्लगइन के पेड़ लक्ष्य (mvn निर्भरता चल: पेड़): लाभ उठाकर

$ mvn dependency:tree 
[INFO] Scanning for projects... 
[INFO]                   
[INFO] ------------------------------------------------------------------------ 
[INFO] Building testng 1.0-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-dependency-plugin:2.1:tree (default-cli) @ testng --- 
[INFO] testng:testng:jar:1.0-SNAPSHOT 
[INFO] \- junit:junit:jar:4.10:test 
[INFO] \- org.hamcrest:hamcrest-core:jar:1.1:test 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESS 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 1.483s 
[INFO] Finished at: Fri Mar 29 12:07:22 MDT 2013 
[INFO] Final Memory: 5M/81M 
[INFO] ------------------------------------------------------------------------ 

के रूप में मूर्खतापूर्ण इस लगता है के रूप में, आप का लाभ लेने के उचित hamcrest-पुस्तकालय शिल्पकृति शामिल करने की ज़रूरत Hamcrest Matchers। उम्मीद है कि यह मदद करता है ...

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