Usando Moq para Mock a Func <> parâmetro construtor e verifique se foi chamado duas vezes
Levou a questão deste artigo (Como moq a Func) e adaptou como a resposta não está correta.
public class FooBar
{
private Func<IFooBarProxy> __fooBarProxyFactory;
public FooBar(Func<IFooBarProxy> fooBarProxyFactory)
{
_fooBarProxyFactory = fooBarProxyFactory;
}
public void Process()
{
_fooBarProxyFactory();
_fooBarProxyFactory();
}
}
Eu tenho a necessidade de zombar de um Func <> que é passado como um parâmetro construtor, a afirmação de que o func foi chamado duas vezes.
Ao tentar zombar da funçãovar funcMock = new Mock<Func<IFooBarProxy>>();
Moq aumenta e excede como o tipo Func não é mockable.
A questão é que sem zombar do func não é possível verificar se o func foi chamado (n) vezes.funcMock.Verify( (), Times.AtLeast(2));