2012-05-28 11 views
22

के साथ शुरू होता है क्या यह कहने के लिए Moq का उपयोग करना संभव है कि विधि "एबीसी" से शुरू होने वाली स्ट्रिंग को स्वीकार करती है।किसी स्ट्रिंग का परीक्षण करने के लिए Moq.It.IsAny का उपयोग करना

इस तरह एक उदाहरण के कुछ के रूप में:

logger.Verify(x => x.WriteData(Moq.It.IsAny<string>().StartsWith("ABC")), Times.Exactly(3)); 

कि अभ्यस्त संकलन लेकिन उम्मीद है कि यह मेरे बिंदु दिखाता

उत्तर

40

कोशिश:

logger.Verify(x => x.WriteData(Moq.It.Is<string>(str => str.StartsWith("ABC"))), Times.Exactly(3)); 

आप It.Is का एक और उदाहरण देख सकते हैं:

// matching Func<int>, lazy evaluated 
mock.Setup(foo => foo.Add(It.Is<int>(i => i % 2 == 0))).Returns(true); 

कि Moq प्रलेखन से आता है: http://code.google.com/p/moq/wiki/QuickStart

+0

हां, मैं का उपयोग उस समय के सभी – eyossi

+0

धन्यवाद, कि पूरी तरह से – Jon

+0

काम किया जो स्ट्रिंग इसके साथ शुरू होता है के लिए जाँच करेगा? इनपुट क्या है? – Peru

4

उपयोग करके देखें:

Moq.It.Is<string>(x => x.StartsWith("ABC"))