fhn*_*eer 10 c# unit-testing moq
我正在使用Moq编写单元测试.我创建了一个模拟对象.现在,当我尝试模拟其属性时,我收到错误"表达式树可能不包含索引属性"
这是我的代码.
public Node GetNode(IMyInterface interface, string itemName)
{
return interface.Items[itemName];
}
Run Code Online (Sandbox Code Playgroud)
这是单元测试
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);
Run Code Online (Sandbox Code Playgroud)
这条线给了我错误.
mock.Setup(f => f.Items[itemName]).Returns(expected);
Run Code Online (Sandbox Code Playgroud)
我怎么能这个功能.
fhn*_*eer 12
接口是一个COM对象并且有get函数,所以不使用索引器直接访问属性使用get函数,
mock.Setup(f => f.get_Items(itemName)).Returns(expected);
Run Code Online (Sandbox Code Playgroud)