我正在设定一个采用单个IList<>
参数的方法的期望。
如何在 NMock3 中表达以下声明:
Method XX of the mock should be called exactly once with a list object that contains exactly one item.
我想象的解决方案如下:
theMock.Expects.One.Method(_ =>_XX(null)).With(***mystery-mocking-goes-here***);
答案 0 :(得分:0)
使用Is.Match:
theMock.Expects.One.Method(_ =>_XX(null)).With(Is.Match<IList<string>>(l => l.Count == 1));
Anantha Raju C的解释
如果您有测试_XX(T)的方法。在With方法中,您必须传递T对象或匹配器。 Is.Match创建它并需要一个谓词作为参数。
在此示例中,如果列表仅包含一个项目(l.Count == 1),谓词将返回true。