/ / मुझे मोक्स पर स्टब्स का पक्ष क्यों लेना चाहिए? - सी #, यूनिट-टेस्टिंग, मॉकिंग, स्टबिंग

मैं मॉक ओवर डिटेल क्यों एहसान करूं?-c#, यूनिट-टेस्टिंग, स् मोकिंग, stubbing

मैं अक्सर रेड करता हूं कि किसी को मोक्स से बचना चाहिए और स्टब्स पसंद करना चाहिए।

FakeItEasy और जैसे अलगाव फ्रेमवर्कNSubstitute यह ज्यादातर समय वास्तव में नकली या अवलंबन पर निर्भर रहने के लिए आसान बनाता है। वे चौखटे स्वयं "स्टब्स या मॉक के बीच अंतर नहीं करते हैं, लेकिन उन्हें पूरी तरह से नकली या कास्ट कहते हैं। जहाँ तक मुझे" मॉकिंग "के शुरुआती दिनों में पता है कि नकली वस्तुओं को बनाना बहुत कठिन था, क्योंकि बोझिल रिकॉर्ड और रिप्ले तंत्र का उपयोग करना। लेकिन आज ऐसा लग रहा है कि अब कोई बड़ा अंतर नहीं है।

तो मुझे मोब्स के ऊपर स्टब्स का पक्ष क्यों लेना चाहिए? स्टॉक्स से अधिक भंगुर क्यों होते हैं?

उत्तर:

जवाब के लिए 3 № 1

आपको "टी" पसंद करना चाहिए "स्टॉक्स ओवर मोक्स; बल्कि, आपको चाहिए नौकरी के लिए सही उपकरण का चयन करें:

कमांड्स के लिए मोज़ेक, क्वेरीज़ के लिए स्टब्स


उत्तर № 2 के लिए -1

कम से कम हाल ही में मॉकिंग टूल्स के साथ, नहीं हैस्टॉक्स बनाम मोक्स के साथ परेशान करने में बिंदु। व्यवहार में, नकली और स्टब्स एक ही चीज हैं जब एक मॉकिंग लाइब्रेरी द्वारा बनाई जाती हैं। और ऐसा ही होना चाहिए।

जावा (और C # .NET के लिए भी, यदि मैं गलत नहीं हूं) के लिए उपलब्ध मॉकिंग लाइब्रेरी के साथ, आप एक स्टब आप "टी क्रिएट" कर सकते हैं। हमेशा एक मॉक ऑब्जेक्ट प्राप्त करें जिस पर उम्मीदों का सत्यापन किया जा सकता है।