मैं यह जानना चाहता हूं कि मैं एक विधि का नकल कैसे कर सकता हूं जो दूसरी बार इसे अलग-अलग मूल्य देता है पहर। उदाहरण के लिए, इस तरह कुछ:राइनोमोक्स - एक विधि का मजाक कर रहा है जिसका रिटर्न वैल्यू बदलता है (यहां तक कि जब एक ही पैरामीटर पारित किया जाता है) एकाधिक कॉल
public interface IApplicationLifetime
{
int SecondsSinceStarted {get;}
}
[Test]
public void Expected_mock_behaviour()
{
IApplicationLifetime mock = MockRepository.GenerateMock<IApplicationLifetime>();
mock.Expect(m=>m.SecondsSinceStarted).Return(1).Repeat.Once();
mock.Expect(m=>m.SecondsSinceStarted).Return(2).Repeat.Once();
Assert.AreEqual(1, mock.SecondsSinceStarted);
Assert.AreEqual(2, mock.SecondsSinceStarted);
}
क्या ऐसा कुछ भी है जो इसे संभव बनाता है? गेटटर के लिए उप-लागू करने के अलावा जो राज्य मशीन लागू करता है?
चीयर्स दोस्तों,
एलेक्स
आदेशित और अनियंत्रित मोजे पर नज़र डालें: http://ayende.com/wiki/Rhino%20Mocks%20Ordered%20and%20Unordered.ashx – Maciej
आपके द्वारा प्रदान किए गए कोड के साथ क्या गलत है? 'दोहराना। एक बार() ' –
@lazyberezovsky काम करना चाहिए m.SecondsSinceStarted 2 के लिए पहली कॉल, – AlexC