0

我正在为采用单个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***);
4

1 回答 1

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 创建它并需要一个 Predicate 作为参数。

在此示例中,如果列表仅包含一项 (l.Count == 1),则谓词将返回 true。

于 2017-01-25T10:36:49.113 回答