이 기사의 질문 (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을 <>의 FUNC 통화 두 번이었다 어설 조롱 할 필요가있다.
함수를 모의하려고 할 때 var funcMock = new Mock<Func<IFooBarProxy>>();
Func 유형이 모의되지 않기 때문에 Moq가 발생하고 예외가 발생합니다.
func를 조롱하지 않으면 func이 (n) 번 호출되었는지 확인할 수 없다는 것이 문제입니다. funcMock.Verify((), Times.AtLeast(2));
이제 Moq는 OP가 원래 시도한 작업을 지원합니다. @ ktam33의 대답을 참조하십시오. – Mike