2009-08-25 7 views
5

मैं उपयोग कर रहा हूँ NUnit मजाक उड़ाता है और निर्दिष्ट करने के लिए कह रही है क्या तर्क उदाहरण के लिए किया जाएगा बिना कि मैं एक फोन की उम्मीद है, लेकिन चाहते हैं:क्या एनआईएनआईटी मॉक्स की कॉल के लिए किसी तर्क के रूप में कुछ निर्दिष्ट करने का कोई तरीका है?

mock.ExpectAndReturn("Equals", true, ANY_ARGUMENT); 

जाहिर ANY_ARGUMENT के बजाय सही सिंटैक्स में भरने।

क्या ऐसा करने का कोई तरीका है?

अगर मैं कोई तर्क निर्दिष्ट - NUnit परीक्षण में विफल रहता है, क्योंकि यह 0 तर्क की उम्मीद है, लेकिन प्राप्त 1.

+0

इस विषय पर कोई अपडेट? – yeyeyerman

उत्तर

2

परावर्तक, यह प्रकट नहीं होता है में nunit.mocks.dll के संस्करण 2.5.2 को देखते हुए वहाँ है एक विधि जो आप खोज रहे हैं। NUnit ओपन सोर्स है, इसलिए एक विकल्प कोड प्राप्त करना और सुविधा जोड़ना है।

0

आप आईरसोल्व कॉन्स्ट्रेनेंट का एक नया उदाहरण लागू कर सकते हैं जो कुछ भी स्वीकार करता है और आपके परीक्षण में पैरामीटर के रूप में उपयोग करता है। NUnit Assert का उपयोग करके किसी भी अन्य ऑब्जेक्ट की तुलना में आईआरएसओल्व कॉन्स्ट्रेनट के उदाहरणों का अलग-अलग व्यवहार करता है। वह, आर्टर्ट के बजाय। इसकी शुद्धता को सत्यापित करने के लिए अयोग्य।

ईजी।

myMock.ExpectAndReturn ("mockedMethod", argument1, नई AcceptsAnythingConstraint())

1

आप की कोशिश की है:

mock.SetReturnValue(true); 
mock.Expect("Equals"); 
2

हाँ वहाँ NUnit Mocks में इस तरह के एक समारोह है।

अपेक्षा और रिटर्न का उपयोग SetReturnValue के बजाय। पहला फ़ंक्शन, जैसा कि नाम आपको बताते हैं, आप इनपुट ऑब्जेक्ट और वापसी ऑब्जेक्ट निर्दिष्ट करते हैं। अंतिम कार्य केवल विशिष्ट फ़ंक्शन के लिए रिटर्न ऑब्जेक्ट निर्दिष्ट करें।

उपयोग करें: interfaceMock.SetReturnValue("SomeRetrunFunction", someReturnFunction);