1
所以,當有一個返回值,我可以起訂量如何運行函數時返回值是無效時設置的起訂量
mockStudentRepository.Setup(m => m.Create(It.IsAny<IStudent>())).Returns<IStudent>(s =>
{
students.Add(s);
return 1;
});
所以這拉姆達被傳開,模擬實現的存儲庫這樣做。
當一個方法返回void時,我該怎麼做?當我嘗試相同的代碼時,退貨不可用。我現在有這樣的事情:
mockStudentRepository.Setup(m => m.Update(It.IsAny<IStudent>()));
我想把一個lambda運行時,更新被稱爲非常像上面的第一個代碼。我怎樣才能做到這一點?
你試過了什麼?開始測試你的代碼而不嘲笑m.Update –
對不起,這完全是我的意圖,嘲笑這種方法。我不想爲它運行實際的代碼,我只是想讓它運行一個虛假的實現。我所嘗試的是我創建了一個假實現Student儲存庫,確實有效,但我想爲該方法運行一個lambda,而不是實現Student Repository。 –
您是否在尋找回撥方法?也許[QuickStart](https://github.com/Moq/moq4/wiki/Quickstart)頁面有一個適合您需求的示例。 –