当检查是否正在使用正确的数据来调用方法时,我可以这样做:
mockedClass.Verify(method => method.WriteToConsole(It.Is<Result>(item => item.Name == "Bob" && item.Age == 44)));
其中Results是一个对象,它是Linq查询的输出:
public class Result
{
public string Name { get; set; }
public int Age { get; set; }
}
但是,我也使用IEnumerable作为第二种方法的输入。
如何修改上面的验证以检查IEnumerable of Results是否包含我可以测试的结果。
mockedClass.Verify(method => method.WriteListToConsole(It.Is<IEnumerable<ResultRecord>>(item => What GOES HERE?)));
答案 0 :(得分:1)
“item”是IEnumerable<ResultRecord>
。只需写下你想要测试的内容。
这样的东西?
mockedClass.Verify(method => method.WriteListToConsole(It.Is<IEnumerable<ResultRecord>>(item => item.Count() == 1 && item.ToList()[0].SomeProperty == "Something")));