我正在使用 Moq 编写单元测试。我创建了一个模拟对象。现在,当我尝试模拟其属性时,我收到错误“表达式树可能不包含索引属性”
这是我的代码。
public Node GetNode(IMyInterface interface, string itemName)
{
return interface.Items[itemName];
}
这是单元测试
var expected = new Node();
var itemName = "TestName";
var mock = new Mock<IMyInterface>();
mock.Setup(f => f.Items[itemName]).Returns(expected);
var target = new MyClass();
var actual = target.GetNode(mock.Object, itemName);
Assert.AreEqual(expected, actual);
这行给我错误。
mock.Setup(f => f.Items[itemName]).Returns(expected);
我怎样才能最小起订量这个功能。
接口是一个COM对象,并且有get函数,因此不要使用索引器直接访问属性,而是使用get函数,
mock.Setup(f => f.get_Items(itemName)).Returns(expected);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)