所以這是我猜想很多人想要做的事情,嘲笑一個集合。在犀牛過去我喜歡的東西做到了這一點:用犀牛嘲笑嘲笑系列
var col_mock = MockRepository.GenerateMock<ICustomCollection>(); // returns ICustom let's say
List<ICustom> col_real = new List<ICustom>();
col_real.Add(custom_mock1);
col_real.Add(custom_mock2);
col_real.Add(custom_mock3);
col_mock.Stub(x => x.GetEnumerator()).Return(col_real.GetEnumerator());
所以燁這工作得很好,當你的foreach col_mock你得到的嘲笑(custom_mock1等)對象回來。大!我們通過使用類型列表來成功地模擬自定義集合,以實際存儲大量模擬對象。
問題是,你只能這樣做一次!你只能對這個集合進行一次foreach。有沒有人知道(沒有創建一個實際的自定義集合...)我如何實現可以迭代多次的自定義集合的模擬?
謝謝!並做得很好,實際上Return(null)和Repeat.Any調用似乎不是必需的。我之前沒有使用過WhenCalled,這正是我想要做的。 – MRAH 2010-10-28 14:32:09