15
我試圖嘲弄一個存儲庫的方式類似起訂量ReturnsAsync()的參數
public async Task<WhitelistItem> GetByTypeValue(WhitelistType type, string value)
使用起訂量ReturnsAsync
,像這樣:
static List<WhitelistItem> whitelist = new List<WhitelistItem>();
var whitelistRepositoryMock = new Mock<IWhitelistRepository>();
whitelistRepositoryMock.Setup(w => w.GetByTypeValue(It.IsAny<WhitelistType>(), It.IsAny<string>()))
.ReturnsAsync((WhitelistType type, string value) =>
{
return (from item in whitelist
where item.Type == type && item.Value == value
select item).FirstOrDefault();
});
,但我發現在這個錯誤行」 ...... ReturnsAsync((WhitelistType類型...):
無法轉換lambda表達式鍵入 'Model.WhitelistItem',因爲它 不是委託類型
WhitelistType就是這樣一個枚舉:
public enum WhitelistType
{
UserName,
PostalCode
}
我搜查小時,並沒有發現任何回答我的問題。
任何線索?
看起來像你需要指定拉姆達委託參數的類型(WhitelistType類型,字符串值) – BozoJoe
是有可能返回傳遞到方法的參數異步返回類型,所以在---> Task out中的實例? (同樣的例子你) –
Choco
@Choco不知道你想做什麼 - 考慮問它作爲一個問題,而不是顯示實際的代碼(也許你正在尋找'return Task.FromResult(value)')... –