2009-12-22 13 views
34

में सभी पैरामीटर निर्दिष्ट नहीं कर रहा हूं मैं RhinoMocks का उपयोग कर रहा हूं। अब मैं यह कहना चाहता हूं कि कुछ समारोह बुलाए गए थे, लेकिन मुझे केवल तर्कों में से एक की परवाह है। क्या मैं AssertWasCalled कर सकता हूं जहां मैं केवल एक तर्क निर्दिष्ट करता हूं?राइनोमोक्स - AssertWasCalled

निम्नलिखित उदाहरण में मैं अनदेखा करना चाहता हूं जो कुछ अन्य निष्पादन() के दूसरे तर्क में भेजा गया था। अर्थात। मैं यह जांचना चाहता हूं कि कुछ अन्य फ़ंक्शन को पहले पैरामीटर 123 के साथ बुलाया गया था और मुझे परवाह नहीं है कि दूसरा पैरामीटर क्या था।

[Test] 
public void SomeTest() 
{ 
    var myMock = MockRepository.GenerateMock<ISomeInterface>();  
    var myObj = new MyClass(myMock); 
    myObj.foo() 

    myMock.AssertWasCalled(factory => factory.SomeOtherFunction(123, null)); 
} 

उत्तर

61

आप Arg<T>.Is.Anything के रूप में 2 तर्क निर्दिष्ट कर सकते हैं, तो वास्तविक मूल्य को नजरअंदाज कर दिया जाता है।

हालांकि ध्यान दें कि इसका उपयोग करके आपको सभी तर्कों के लिए Arg का उपयोग करने की आवश्यकता है। जिसका अर्थ है कि आपको पहले तर्क पर उपयोग करने की आवश्यकता है: Arg<int>.Is.Equal(123)

संबंधित मुद्दे