带有数据设置列表的模拟界面


public interface ICar
{
public int Id {get;}
public string Owner {get;} 
{

在测试中,我模拟了这个接口

var car = new Mock<ICar>();
car.SetupGet(x=>x.Id).Returns(1);
car.SetupGet(x=>x.Name).Returns("Bob");

我如何填充模拟的列表

var test = new Mock<List<ICar>>().Object.Add(car);

这行不通。

"我如何填充被嘲笑的";就像填充任何其他列表一样。但你用模拟填充

var car = new Mock<ICar>();
car.SetupGet(x=>x.Id).Returns(1);
car.SetupGet(x=>x.Name).Returns("Bob");
List<ICar> myList = new List<ICar>();
myList.Add(car.Object);

你也可以在一个循环中做到这一点:

for ( int i = 0; i < 10; i++ )
{
var car = new Mock<ICar>();
car.SetupGet(x=>x.Id).Returns( i + 1 );
car.SetupGet(x=>x.Name).Returns($"Bob_{i}");
myList.Add(car.Object);
}