Czy mogę zmienić zachowanie kodu pośredniczącego w czasie wykonywania? Coś jak:Jak zmienić zachowanie skrótów?
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
}
moim przykładzie kodu nadal nie w danym wierszu, fi.GetBar()
nadal zwraca "A"
.
Czy jest jeszcze jedna sztuczka do modelowania skrótów, których zachowanie zmienia się w czasie? Wolałbym nie używać numeru fi.Stub(...).Do(...)
.
Ah, prawdopodobnie potrzebuję tylko wydrukowanej instrukcji, żeby ktoś uderzył mnie w głowę. Wygląda na to, że powinno to być naprawdę oczywiste, ale nie mogę go znaleźć.
Wypróbuj 'fi.Stub (x => x.GetBar()) .Powrót (" A ") .Powtórz.Once();' i 'fi.Stub (x => x.GetBar()). "B"). Repeat.Once(); ' –