從這篇文章中採納了這個問題(How to moq a Func)並將其作爲答案進行了修改,因爲答案不正確。使用Moq來模擬Func <>構造函數參數並驗證它被調用了兩次
public class FooBar
{
private Func<IFooBarProxy> __fooBarProxyFactory;
public FooBar(Func<IFooBarProxy> fooBarProxyFactory)
{
_fooBarProxyFactory = fooBarProxyFactory;
}
public void Process()
{
_fooBarProxyFactory();
_fooBarProxyFactory();
}
}
我有一個需要模擬函數求<>被作爲構造函數參數傳遞,該FUNC是調用兩次斷言。
當試圖模擬功能var funcMock = new Mock<Func<IFooBarProxy>>();
Moq引發和異常,因爲Func類型不可模仿。
問題是,如果不嘲笑函數,就不可能驗證函數被調用了(n)次。 funcMock.Verify((), Times.AtLeast(2));
Moq現在支持OP最初試圖做的事情,請參閱@ ktam33的答案 – Mike