【发布时间】:2015-10-10 05:15:17
【问题描述】:
我正在尝试像这样模拟存储库的方法
public async Task<WhitelistItem> GetByTypeValue(WhitelistType type, string value)
使用 Moq 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 type...):
无法将 lambda 表达式转换为类型“Model.WhitelistItem”,因为 它不是委托类型
WhitelistType 就是这样的枚举:
public enum WhitelistType
{
UserName,
PostalCode
}
我按小时搜索,但没有找到任何问题的答案。
有什么线索吗?
【问题讨论】:
标签: c# unit-testing moq