我的[TestInitialize]
块中有以下代码,我正在尝试在对象上初始化List<T>
属性。
[TestClass]
public class MyTest
{
private MyClass myClass;
private Mock<myClassA> mockMyClassA;
private List<Mock<myClassB>> mockMyClassB; //OK
[TestInitialize]
public void Setup()
{
mockMyClassA = new Mock<myClassA>();
mockMyClassB = new List<Mock<myClassB>>(); //OK
myClass = new MyClass
{
MyClassA = mockMyClassA.Object,
MyClassB = mockBenefitsCoordination //None of this works
{
new Mock<mockMyClassB>()
{
//PropertyValue = mock??
}
}
}
我得到的错误是:
Cannot convert source type 'System.Collections.Genric.List<Moq.Mock<MyClassB>>' to target type 'System.Collections.Generic.IList<MyClassB>>'
好的,我看到了List<T> to IList<T>
问题。 MyClassB
是IList<T>
。我试过改变它没有成功。基本上我认为我有使用Moq配置List属性的完整语法。有谁知道如何正确配置这个?
答案 0 :(得分:2)
您不希望使用模拟初始化列表。您希望使用具体对象进行列表初始化,并将模拟对象添加到该列表中。
像
这样的东西private List<myClassB> myClassBList;
myClassBList.Add(new Mock<myClassB>.Object);