Una prueba de unidad .NET sin un constructor sin parámetros, para facilitar la inyección de dependencia

Estoy tratando de que las pruebas unitarias no dependan de llamadascontainer.Resolve <T> () por sus dependencias

Actualmente estoy usandoAutoFac 2.2.4, y probadoxUnit.NET yNUnit, pero ambos tieneneste problema:

No hay un constructor sin parámetros definido para este objeto

¿Cómo puedo superar este problema? ¿Es un marco de prueba de unidad particular que soportará esto, o simplemente cómo se configura dicho marco?

¿No debería estar haciendo esto? ¿O puedo configurar la clase de prueba para que funcione con el constructor que tiene solo dependencia?

Aquí hay algo del código:

public class ProductTests : BaseTest
{
    readonly private IProductRepository _repo;

    public ProductTests(IProductRepository r)
    {
        _repo = r;
    }

    //working unit tests here with default constructor
} 

¿Elegí inicializar el contenedor incorrectamente en el constructor de la clase base?

public abstract class BaseTest
{
    protected BaseTest()
    {
        var builder = new ContainerBuilder();
        builder.RegisterType<ProductRepository>().As<IProductRepository>();
        builder.Build();
    }
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta