您将如何伪造以下内容:
public interface IBlah
{
Func<T, bool> ApplyFilter<T>(Func<T, bool> predicate) where T:IMessage;
}
我想要的是假货只是简单地返回它的论点而不做任何改变。但是,我想验证该假货是否只被调用过一次。下面给出了一个用例:
public class Something
{
public Something(IBlah blah) { _blah = blah; }
public bool DoSomething(SomeValue m, Func<SomeValue, bool> predicate)
{
Func<SomeValue, bool> handler = _blah.ApplyFilter(predicate);
return handler(m);
}
}
即假货需要充当通过,但我还需要能够验证它已被使用。
解决这个问题的最佳方法是什么?
[请不要担心人为的例子......幕后发生了很多事情,但我已将其简化为上面的例子。]