2011-10-18 7 views

उत्तर

13

एक डमी वास्तव में FakeItEasy अपने आप में कुछ भी नहीं किया जाता है, यह महज डमी उदाहरणों है कि आप अपने परीक्षण में उपयोग कर सकते हैं बनाने के लिए एक तरीका है।

उदाहरण के लिए, मान लीजिए कि आप निम्नलिखित वर्ग परीक्षण करना चाहते हैं:

public class Foo 
{ 
    public void Bar(DateTime someDate); 
} 

अब, अपने परीक्षणों में से एक में आप बार विधि लेकिन मूल्य है कि यह करने के लिए पारित कर दिया है आह्वान करने के लिए चाहते हैं के लिए महत्वपूर्ण नहीं है परीक्षण, लेखन के बजाय:

foo.Bar(new DateTime(2000, 1, 1)); 

आप लिख सकते हैं:

foo.Bar(A.Dummy<DateTime>()); 

यह संकेत देता है कि मूल्य परीक्षण के लिए वास्तव में महत्वपूर्ण नहीं है, इसलिए इसका उपयोग करने का पूरा कारण इरादे को बेहतर तरीके से संवाद करना है।

+1

यह अभी भी मुझे अनदेखा जैसा लगता है। उपयोग में अंतर क्या है? – cecilphillip

+0

बस इसे स्वयं करने की कोशिश की; ADummy <> का उपयोग करके A.CallTo() में। MustHaveHappened() का परिणाम किसी भी मान को स्वीकार नहीं किया जा रहा है जैसे <>। अनदेखा करता है। इसके अलावा, मुझे नहीं पता। –

+0

मैं वास्तव में नहीं देख सकता कि अस्पष्ट क्या है। आपको एहसास है कि उपरोक्त में कक्षा फू कक्षा का परीक्षण किया जा रहा है, नकली अधिकार नहीं? एडीमी एक डमी मूल्य बनाता है, यह सब कुछ है। कॉल कॉन्फ़िगर करते समय इसका उपयोग नहीं किया जा सकता है। –

4

@ पैट्रिक हैगने का जवाब बताता है कि उपयोगकर्ता डमी का उपयोग कैसे कर सकते हैं, लेकिन कहानी में एक और हिस्सा है। FakeItEasy डमी का उपयोग करता है।

जब FakeItEasy को कक्षा के रचनाकारों में से किसी एक को आमंत्रित करके नकली वर्ग उदाहरण (या कभी-कभी एक और डमी क्लास इंस्टेंस) बनाना होता है, और कन्स्ट्रक्टर तर्क लेता है, तो यह तर्कों के लिए डमी का उपयोग करेगा।

मैं आपको Dummies documentation को देखने के लिए प्रोत्साहित करता हूं।