Kri*_*s-I 3 .net c# moq mocking
在我的测试中,我将数据定义为数据a List<IUser>.
我想设置一个moq方法GetList,这个方法接收一个boolas参数.我想回复IUser列表哪里IsValid是真的.
我试过这个:
Mock<IUsers> mockUserRepository = new Mock<IUsers>();
mockUserRepository.Setup(mr => mr.GetList(It.IsAny<bool>()))
.Returns((bool i) => _users.Select(x => x.IsValid == i));
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误: cannot convert List<bool> to List<IUser>
class User : IUser
{
public bool IsValid { get; set; }
}
interface IUser
{
bool IsValid { get; set; }
}
interface IUsers
{
List<IUser> GetList(bool isActive);
}
Run Code Online (Sandbox Code Playgroud)
如果要返回IsValid为true的IUser列表,当您应该返回列表而IUser不是其中的集合时bool,请使用Where过滤列表而不是Select.
// returns IEnumerable<boolean>
.Returns((bool i) => _users.Select(x => x.IsValid == i));
Run Code Online (Sandbox Code Playgroud)
应该
// returns List<IUser>
.Returns((bool i) => _users.Where(x => x.IsValid == i).ToList());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1204 次 |
| 最近记录: |