यह एक आसान होने वाला है, लेकिन मुझे उनके बीच का अंतर नहीं मिल रहा है और किसके लिए उपयोग करना है, अगर मेरे पास मेरे क्लासपाथ में लिब शामिल है?मॉकिटो के मैचर बनाम हैमक्रिस्ट मैचर?
उत्तर
Hamcrest मिलान तरीकों Matcher<T>
लौट सकते हैं और Mockito वापसी टी matchers तो, उदाहरण के लिए: org.hamcrest.Matchers.any(Integer.class)
org.hamcrest.Matcher<Integer>
का एक उदाहरण देता है, और org.mockito.Matchers.any(Integer.class)
Integer
का एक उदाहरण देता है।
इसका मतलब है कि आप केवल Matcher<?>
ऑब्जेक्ट को हस्ताक्षर में अपेक्षित होने पर हैमरेस्ट मैचर्स का उपयोग कर सकते हैं - आमतौर पर, assertThat
कॉल में। उम्मीदों या सत्यापनों को स्थापित करते समय जहां आप नकली वस्तु के तरीकों को बुला रहे हैं, आप मॉकिटो मैचर्स का उपयोग करते हैं।
उदाहरण के लिए (स्पष्टता के लिए पूरी तरह से योग्य नाम के साथ):
@Test
public void testGetDelegatedBarByIndex() {
Foo mockFoo = mock(Foo.class);
// inject our mock
objectUnderTest.setFoo(mockFoo);
Bar mockBar = mock(Bar.class);
when(mockFoo.getBarByIndex(org.mockito.Matchers.any(Integer.class))).
thenReturn(mockBar);
Bar actualBar = objectUnderTest.getDelegatedBarByIndex(1);
assertThat(actualBar, org.hamcrest.Matchers.any(Bar.class));
verify(mockFoo).getBarByIndex(org.mockito.Matchers.any(Integer.class));
}
यदि आप कोई संदर्भ है कि एक Mockito मिलान की आवश्यकता है में एक Hamcrest मिलान का उपयोग करना चाहते हैं, तो आप org.mockito.Matchers.argThat
मिलान का उपयोग कर सकते हैं। यह एक हैमक्रिस्ट मैचर को एक मॉकिटो मैचर में परिवर्तित करता है। तो, कहें कि आप कुछ परिशुद्धता (लेकिन ज्यादा नहीं) के साथ एक डबल वैल्यू से मेल खाना चाहते थे। उस मामले में, तुम कर सकते हो:
when(mockFoo.getBarByDouble(argThat(is(closeTo(1.0, 0.001))))).
thenReturn(mockBar);
बस यह देखते हुए कि, Mockito 2, में ' ArgThat 'अधिभार जो Hamcrest' Matcher 'के साथ काम करता है' MockitoHamcrest 'ले जाया गया था। [मॉकिटो 2 में नया क्या है] (https://github.com/mockito/mockito/wiki/What%27s-new-in-Mockito-2#incompatible) इसकी "1.10 के साथ असंगत परिवर्तन" खंड में चर्चा करता है। –
- 1. जावा में रीस्टफुल स्ट्रिंग्स मैचर
- 2. रुपेक/रेल मैचर जो मॉडल को _be_saved
- 3. बटन या लिंक की उपस्थिति के लिए कैपिबरा मैचर
- 4. जावा पैटर्न मैचर: नया बनाएं या रीसेट करें?
- 5. हैमक्रिस्ट
- 6. क्या जैस्मीन के टूहेवबिनकॉलड का उपयोग नियमित अभिव्यक्ति के साथ मैचर के साथ करना संभव है?
- 7. हैमक्रिस्ट-लाइब्रेरी मैचर्स और हैमक्रिस्ट-कोर कोरमैचर्स के बीच अंतर
- 8. क्या पूरे पर्यावरण में जैस्मीन मैचर जोड़ने का कोई तरीका है
- 9. क्या कोई चश्मा मैचर है जो विकल्प को अनबॉक्स करेगा और
- 10. क्या जैस्मीन के टू थ्रो मैचर को अज्ञात फ़ंक्शन में लपेटने के लिए तर्क की आवश्यकता होती है?
- 11. मॉकिटो
- 12. मिक्सिंग हैमक्रिस्ट और टेस्टएनजी
- 13. मॉकिटो
- 14. मॉकिटो
- 15. मॉकिटो
- 16. मॉकिटो
- 17. मॉकिटो
- 18. मॉकिटो
- 19. मॉकिटो
- 20. मॉकिटो
- 21. मॉकिटो
- 22. मॉकिटो
- 23. मैं हैमक्रिस्ट का उपयोग यह जांचने के लिए कैसे कर सकता हूं कि युगल की सरणी में प्रत्येक तत्व किसी अन्य सरणी में प्रत्येक तत्व के लिए "बंद" है या नहीं?
- 24. क्या यह संभव है कि पायथन के difflib में अनुक्रम मैचर Levenshtein दूरी की गणना करने के लिए एक और अधिक प्रभावी तरीका प्रदान कर सकता है?
- 25. पावरमॉक और मॉकिटो
- 26. एंड्रॉइड: रोबॉलेक्ट्रिक और मॉकिटो
- 27. मॉकिटो "कब" समस्या
- 28. एंड्रॉइड पर मॉकिटो + डेक्समेकर
- 29. .put विधि stub (मॉकिटो)
- 30. मॉकिटो जासूस रीसेट करना
संबंधित: [? कैसे Mockito काम matchers करना] (http://stackoverflow.com/a/22822514/1426891) –