2014-09-19 3 views
12

क्या कोई भी उनके बीच मतभेद और उपयोग के दायरे को सारांशित कर सकता है?FluentAssertions: ShouldBeEquivalentTo बनाम चाहिए()।() बनाम चाहिए()। BeEquivalentTo()?

मैं इतना लेख पढ़ने,

  • ShouldBeEquivalientTo(): ShouldBeEquivalentTo() आदिम प्रकार नेट रूपरेखा का हिस्सा जटिल ऑब्जेक्ट रेखांकन के बजाय की तुलना के लिए इस्तेमाल किया जा करने का इरादा है।
  • Should().BeEquivalentTo(): अलग-अलग आइटम समकक्ष को सत्यापित करने के लिए समान() कार्यान्वयन और संस्करण 1 के बाद से आसपास रहे हैं। एफए 2.0 में पेश किया गया नया कन्फइक्वाइवलेंटो() गहराई से संरचनात्मक तुलना कर रहा है और किसी भी अंतर पर रिपोर्टिंग कर रहा है।
  • चाहिए()।(): नहीं मिल सकता है।

मेरी विनम्र समझ में, ShouldBeEquivalientTo() और Should().BeEquivalentTo() अगर Should().BeEquivalentTo() समान काम में गहराई से तुलना करता है।

+0

स्ट्रिंग तुलना के लिए ShouldBeEquivalent का मतलब केस-असंवेदनशील मैच –

उत्तर

14

मैं मानता हूं कि यह भ्रमित है। Should().BeEquivalentTo() को वास्तव में Should().EqualInAnyOrder() या ऐसा कुछ कहा जाना चाहिए। जैसा कि आपने कहा है, यह Equals शामिल वस्तुओं के कार्यान्वयन का उपयोग करता है यह देखने के लिए कि expected संग्रह में से सभी ऑर्डर के बावजूद actual संग्रह में दिखाई देते हैं। मुझे इसे अगले प्रमुख संस्करण के लिए ठीक करने की आवश्यकता होगी।

+0

धन्यवाद। और कैसे 'चाहिए() होना चाहिए() '? क्या यह उनमें से एक के समान या पूरी तरह से बराबर काम करता है? – Youngjae

+1

केवल 'चाहिए()। समान() 'जो' चाहिए() के समान होता है। BeEquivalentTo()' लेकिन सख्त क्रम की आवश्यकता है। यही कारण है कि मैं 'EqualInAnyOrder' के लिए 'BeEquivalentTo' का नाम बदलने का सुझाव दे रहा था। –

+1

v5.0 https://github.com/fluentassertions/fluentassertions/issues/463 –

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