I'm trying to mock a repository's method like that
public async Task<WhitelistItem> GetByTypeValue(WhitelistType type, string value)
using Moq ReturnsAsync, like this:
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();
});
but i'm getting this error in the line "... ReturnsAsync((WhitelistType type...):
Cannot convert lambda expression to type 'Model.WhitelistItem' because
it is not a delegate type
WhitelistType is an Enum like that:
public enum WhitelistType
{
UserName,
PostalCode
}
I searched by hours and didn't found any answer to my problem.
Any clues?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…