क्या मैं रनटाइम के दौरान स्टब के व्यवहार को बदल सकता हूं? की तरह कुछ:स्टब्स के व्यवहार को कैसे बदला जाए?
public interface IFoo { string GetBar(); }
[TestMethod]
public void TestRhino()
{
var fi = MockRepository.GenerateStub<IFoo>();
fi.Stub(x => x.GetBar()).Return("A");
Assert.AreEqual("A", fi.GetBar());
fi.Stub(x => x.GetBar()).Return("B");
Assert.AreEqual("B", fi.GetBar()); // Currently fails here
}
मेरे कोड उदाहरण अभी भी दिया लाइन में विफल रहता है, fi.GetBar()
अभी भी "A"
देता है।
या ऐसे स्टब्स मॉडल के लिए एक और चाल है जिसका व्यवहार समय के साथ बदलता है? मैं fi.Stub(...).Do(...)
का उपयोग करने का सहारा लेना चाहता हूं।
आह, शायद मुझे किसी के लिए सिर पर मारने के लिए ठीक मैनुअल की हार्डकॉपी की आवश्यकता है। ऐसा लगता है कि यह वास्तव में स्पष्ट होना चाहिए, लेकिन मुझे यह नहीं मिल रहा है।
'fi.Stub (x => x.GetBar()) आज़माएं। वापसी (" ए ")। दोहराना। एक बार(); 'और' fi.Stub (x => x.GetBar())। वापसी ("बी") दोहराना। एक बार(); ' –