Kri*_*s-I 4 .net c# moq mocking
在我的测试中,我将数据定义为数据a List<IUser>.
我想为方法GetList设置一个moq,这个方法接收一个List<int>作为参数.这是一个ID列表; 我想在这些Ids中返回IUser列表List<IUser>
我试过这个,但我没有找到正确的退货语法
Mock<IUsers> mockUserRepository = new Mock<IUsers>();
_mockUserRepository.Setup(m => m.GetListAll(It.IsAny<List<int>>())).Returns(????????);
Run Code Online (Sandbox Code Playgroud)
我试过这样的事情:
_mockUserRepository.Setup(m => m.GetListAll(It.IsAny<List<int>>())).Returns(u =>_users.Contains(???));
Run Code Online (Sandbox Code Playgroud)
谢谢,
class User : IUser
{
public int Id { get; set; }
public string Firsname { get; set; }
public string Lastname { get; set; }
}
interface IUser
{
int Id { get; set; }
string Firsname { get; set; }
string Lastname { get; set; }
}
interface IAction
{
List<IUser> GetList(List<int> listId);
}
class Action : IAction
{
public List<IUser> GetList(List<int> listId)
{
//....
}
}
Run Code Online (Sandbox Code Playgroud)
试试这个:
mock.Setup(users => users.GetListAll(It.IsAny<List<int>>()))
.Returns<List<int>>(ids =>
{
return _users.Where(user => ids.Contains(user.Id)).ToList();
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12440 次 |
| 最近记录: |