लौट रहा है It.IsAny<string>()
प्रत्येक कॉल पर शून्य वापस करने के कारण क्या हो सकता है? क्या मैं यह मानने में गलत हूं कि इसे एक गैर-शून्य स्ट्रिंग को वापस करने के लिए डिज़ाइन किया गया है?Moq - It.IsAny <string>() हमेशा शून्य
यहां उपयोग है - जहां लॉग इन विधि एक नल 2 तर्क (कनेक्शन स्ट्रिंग) के लिए ArgumentNullException फेंकता है। मैं मान रहा था कि It.IsAny<string>()
एक गैर-शून्य स्ट्रिंग प्रदान करेगा, जो ArgumentNullException को बाईपास करेगा। जो बारी में रिटर्न default(TValue)
-
var mockApiHelper = new Mock<ApiHelper>();
mockApiHelper.Setup(m => m.Connect(It.IsAny<string>(),
It.IsAny<string>(),
It.IsAny<string>()));
var repositoryPlugin = new RepositoryPlugin(mockApiHelper.Object);
repositoryPlugin.Login(new CredentialsInfo(), It.IsAny<string>());
Assert.IsTrue(repositoryPlugin.LoggedIn,
"LoggedIn property should be true after the user logs in.");
आह, मैं देख रहा हूँ। मैंने प्रश्न के लिए पूर्ण परीक्षण जोड़ा है। मैं इसे अपने मॉक के साथ-साथ एक वास्तविक वस्तु के लिए भी उपयोग कर रहा हूं। लेकिन ऐसा लगता है कि यह वास्तविक वस्तुओं के उपयोग के लिए नहीं है? – Jeremy
@ जेरेमी: नहीं, विचार यह है कि आप वास्तविक मूल्यों (अच्छी तरह से, नमूना मूल्य) में अपने वास्तविक कोड में गुजरते हैं। 'It.IsAny' का अर्थ है * आपके वास्तविक कोड से * आपके मैक्स में दिए गए मानों को सत्यापित करना। –
समझ गया - इसलिए मैं इसे डेटा जनरेशन तकनीक के रूप में सोच रहा था ... लेकिन इसका इरादा नहीं है। धन्यवाद! – Jeremy