2014-06-09 71 views
2

我有一個方法,有一個參數,我找到了一個關於如何在NMock2中模擬它的參考。但是,看起來NMock3的主要變化是打破了NMock2的解決方案。 下面是我的方法的接口簽名:NMock3如何使用out參數模擬方法?

IEnumerable<Video> DeletedVideos(int index, int pageSize, out int totalCount); 
+0

不知道爲什麼有人向下投這個,這是一個合理的問題和缺乏NMock3例子是非常令人沮喪,如果你不得不使用它。 –

回答

1

這是我試錯

_mockObject 
.Expects.One.Method(m => 
     m.DeletedVideos(-1, -1, out ignoredValue)) //values are ignored 
     .With(0, 20, Is.Out) //set the values manually 
     .Will(new SetIndexedParameterAction(2, 100) , Return.Value(deletedVideos)); 

當這個方法是從我的控制器調用後,找到了解決辦法,NMock3將通過0,20前兩個參數(Int32),它將以第三個Int返回IEnumerable爲100.

要使用SetIndexedParameterAction,您需要添加命名空間「NMock.Actions」。

新SetIndexedParameterAction(2,100),其中2是參數和100的索引將被返回的值。

Return.Value(deletedVideos)是由該方法要返回的值。

相關問題