2015-11-18 6 views
16

मैं काफी उलझन में हूं। वर्तमान में मैंहैमक्रिस्ट - किस संस्करण का उपयोग करना है? 1.3 या 2

<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-test</artifactId> 
    <scope>test</scope> 
</dependency> 

का उपयोग करके अपने वसंत एप्लिकेशन का परीक्षण कर रहा हूं, जब तक मैं नियमित रूप से नियमित मिलान करना चाहता था तब तक मैं खुश था। हैमक्रिस्ट 1.3 में आपको अपना खुद का मैचर लिखना होगा, जिसे मुझे इतना पसंद नहीं आया। मैं खोज की है और पाया गया कि hamcrest 2.0 कुछ, में निर्माण की तरह है:

assertThat(DateHelper.getActualDateForXML(), MatchesPattern.matchesPattern("\\d{4}+-\\d{2}-+\\d{2}+T\\d{2}+:\\d{2}+:\\d{2}+")); 

मैं खुश, मैं जोड़ दिया गया:

<dependency> 
    <groupId>org.hamcrest</groupId> 
    <artifactId>hamcrest-junit</artifactId> 
    <version>2.0.0.0</version> 
    <scope>test</scope> 
</dependency> 

और से 1.3 hamcrest निर्भरता बाहर निकाल वसंत-बूट-प्रारंभ- परीक्षण:

<exclusions> 
    <exclusion> 
     <groupId>org.hamcrest</groupId> 
     <artifactId>hamcrest-library</artifactId> 
    </exclusion> 
    <exclusion> 
     <groupId>org.hamcrest</groupId> 
     <artifactId>hamcrest-core</artifactId> 
    </exclusion> 
</exclusions> 

अब सब कुछ अभी भी काम कर रहा है क्योंकि मैं इसे काम करने की उम्मीद करता हूं, लेकिन मुझे वास्तव में आरामदायक महसूस नहीं होता है। क्योंकि मैं सिर्फ लोगों को 1.3 के बारे में लिख सकता हूं और वास्तव में हैमक्रिस्ट-जूनिट 2.0 का उपयोग नहीं कर सकता।

क्या कोई मुझे उनके बीच कनेक्शन समझा सकता है? क्योंकि ऐसा लगता है कि hamcrest-JUnit 2.0 सब कुछ hamcrest 1.3 से में निर्माण है ...

धन्यवाद बेन

+1

आप 2.0 और 1.3 के बीच के अंतर पर दस्तावेज़ीकरण नहीं पा रहे हैं क्योंकि परियोजना [कुछ महीनों के लिए ठीक से बनाए रखा नहीं गया है] [1]। यदि एक सक्रिय कमिश्नर खत्म हो जाता है, तो हम सभी जानते होंगे। धन्यवाद @ कोरोनिया। – heenenee

+0

संबंधित: [हनक्रिस्ट के साथ जुनीट को कैसे सेट करें पर स्निपेट] [http://acdcjunior.github.io/java-unit-tests-maven- निर्भरता-junit-hamcrest-mockito.html) – acdcjunior

उत्तर

24

Hamcrest Github

के आधार पर

और JUnit Lambda (Junit 5)

उस पर मेरी ले

  • hamcrest-JUnit 2.0 (होना चाहिए) भी लक्ष्य JUnit
  • से hamcrest दसगुणा साथ एक नई शुरुआत है
  • इस बीच जूनिट 5 प्रोजेक्ट ने लात मार दिया जो (भी चाहता है) तीसरे पक्ष को कम/हटा दें निर्भरता

=> इस स्थिति में, मुझे उम्मीद है कि हमलावर लोगों के लिए ज्यूनिट 5 परियोजना के साथ पर्याप्त रूप से आगे बढ़ने से पहले/समन्वय करने के लिए समझदारी होगी।

जैसा कि @ हेनेनी ने उल्लेख किया है, हैमरेस्ट लोग अन्य सामानों में व्यस्त हो गए हैं और इसलिए इस बिंदु पर परियोजना के साथ बहुत कुछ नहीं हो रहा है।

उत्तर देने के लिए

किसी ने मुझसे उन दोनों के बीच संबंध की व्याख्या कर सकते हैं? क्योंकि ऐसा लगता है कि हैमक्रिस्ट-जूनिट 2.0 में सब कुछ हैमक्रिस्ट 1 से बना है।3

  • hamcrest-JUnit 2.0 शुरू किया, लेकिन इसके पीछे लोगों के बाद जल्द ही व्यस्त हो गया (और अब भी कर रहे हैं) अन्य परियोजनाओं के साथ है, तो विकास रोक दिया
  • वहाँ भी कुछ JUnit 5 के बारे में अनिश्चितता हो सकता है हो सकता है JUnit 5 रिलीज (अटकलें)

जब तक आगे hamcrest-JUnit 2.0 विकास को स्थगित करने के लिए एक प्रोत्साहन हो ... लेकिन मैं वास्तव में सहज महसूस नहीं करते। क्योंकि मैं सिर्फ लोगों को 1.3 के बारे में लिख सकता हूं और वास्तव में हैमक्रिस्ट-जूनिट 2.0 का उपयोग नहीं कर सकता।

इस समय, आपके मामले के अलावा, हैमक्रिस्ट-जूनिट 2.0 में जाने के लिए बहुत अधिक प्रोत्साहन नहीं है। एक बार जूनिट 5 रिलीज होने के बाद मैं उम्मीद करता हूं कि आगे बढ़ने के लिए और अधिक प्रोत्साहन मिलेगा।

1

Ivo द्वारा शानदार उत्तर, जो वास्तव में अधिक वोट प्राप्त करना चाहिए, लेकिन यहां कुछ अतिरिक्त जानकारी दी गई है। यदि आप निर्भरताओं, Java Hamcrest 2.0.0.0 और Hamcrest JUnit 2.0.0.0 पर जानकारी के लिए मेवेन की जांच करते हैं, तो कुछ usage लिंक हैं। जब मैं इसे लिखता हूं, यह क्रमश: 74 और 68 है, और एक संक्षिप्त ब्राउज़िंग से कोई बड़ी परियोजना नहीं है।

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