¿AutoFixture como un contenedor de Automocking frente a las diferencias de Automocking?

Comencé a usar moq pero, según tengo entendido, siempre tengo que burlarme de todos los métodos que podrían llamarse, incluso si realmente no me importan.

A veces lleva tanto tiempo maquilar cosas que olvidas lo que quieres hacer. Así que he estado mirando la burla automática, pero no estoy seguro de cuál debo usar.

AutoFixture como un contenedor auto-burlón

Automocking

No entiendo cómo usar el primero. Tengo la clase de la segunda pero realmente nunca la probé.

No estoy seguro de si uno es mejor que el otro. Lo único que sé es que ya estoy usando AutoFixtures, lo que es una dependencia de la primera.

Así que tal vez a la larga tenga sentido ir con el primero, pero como dije, no puedo encontrar ningún tutorial básico sobre cómo usarlo.

Editar

Estoy tratando de seguir los ejemplos de "Nikos Baxevanis" pero me estoy encontrando con errores.

Failure: System.ArgumentException : A matching constructor for the given arguments was not found on the mocked type.
  ----> System.MissingMethodException : Constructor on type 'DatabaseProxyded46c36c8524889972231ef23659a72' not found.


var fixture = new Fixture().Customize(new AutoMoqCustomization());
        var fooMock = fixture.Freeze<Mock<IFoo>>();
       // fooMock.Setup(x => x.GetAccounts(It.IsAny<IUnitOfWork>()));
        var sut = fixture.CreateAnonymous<AdminService>();

        sut.Apply();
        fooMock.VerifyAll();

Creo que es debido a mi propiedad de petapoco unitOfWork

PetaPoco.Database Db { get; }

No estoy seguro si tengo que burlarme de esto de alguna manera o qué.

Respuestas a la pregunta(1)

Su respuesta a la pregunta