我有一個IEnumerable<T>
集合,我想模擬First<T>()
方法調用。 當我試圖這樣做,我得到這個:如何使用Rhino mock模擬IEnumerable.First <T>()方法?
上一個方法'IEnumerator.MoveNext();'需要返回值或拋出異常。
我粘貼下面的代碼:
IEnumerable<T> collection = MockRepository
.GenerateStub<IEnumerable<T>>();
collection
.Stub(x => x.First<T>())
.IgnoreArguments()
.Return(MockRepository.GenerateStub<T>());
但x.First<T>
拋出上述異常。我如何解決它?我試圖通過嘲笑GetEnumerator()
方法調用返回IEnumerator
。它也沒有幫助。
一個簡潔的答案。啊,我知道我們不能嘲笑靜態功能。但是這從來沒有打動過我。那麼,我真的希望我可以採取你的建議,不要模擬IEnumerable接口。但是,編寫單元測試用例的代碼的寫法迫使我這樣做。謝謝你的答案克里斯。 – Anee