Moq Return 一个集合中至少有一个假对象

Moq Return a collection with at least one fake object inside it

如何return 对象列表,列表中至少有一个假对象

我试过以下方法:

    FacadeMock.Setup(x => x.GetCost(It.IsAny<IContact>()))
        .Returns(() => new List<ICost>().Add(new Mock<ICost>().Object));

但是没用 谢谢

想通了:

        FacadeMock.Setup(x => x.GetCost(It.IsAny<IContact>()))
            .Returns(() => new List<ICost>{ new Mock<ICost>().Object });

将 lambda 表达式替换为如下代码的语句块:

FacadeMock.Setup(x => x.GetCost(It.IsAny<IContact>()))
    .Returns(() => {
        var myList = new List<ICost>();
        myList.Add(new Mock<ICost>().Object)

        // Create your real object here as much as you want 
        // and use myList.Add to add them to your colllection.

        return myList;
    }
);