繁体   English   中英

我如何将IEnumerable与moq It.Is一起使用

[英]How do I use IEnumerable with moq It.Is

当检查用于调用方法的正确数据时,我可以这样做:

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?)));

此时的“ item”是IEnumerable<ResultRecord> 只需写下您要测试的内容即可。

像这样吗

mockedClass.Verify(method => method.WriteListToConsole(It.Is<IEnumerable<ResultRecord>>(item => item.Count() == 1 && item.ToList()[0].SomeProperty == "Something")));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM