Модульный тест .NET без конструктора без параметров, чтобы облегчить внедрение зависимостей

Я пытаюсь сделать так, чтобы модульные тесты не полагались на вызов container.Resolve < Т> () для их зависимостей.

В настоящее время я использую AutoFac 2.2.4 и пробовал xUnit.NET и NUnit , но оба есть эта проблема :

Для этого объекта не определен конструктор без параметров

Как мне решить эту проблему? Будет ли это поддерживать конкретная среда модульного тестирования или просто то, как указанная среда настроена?

Разве я не должен этого делать? Или я могу настроить тестовый класс для работы с конструктором, у которого есть только зависимость?

Вот часть кода:

public class ProductTests : BaseTest
{
    readonly private IProductRepository _repo;

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

    //working unit tests here with default constructor
} 

Я выбрал неправильную инициализацию контейнера в конструкторе базового класса?

public abstract class BaseTest
{
    protected BaseTest()
    {
        var builder = new ContainerBuilder();
        builder.RegisterType<ProductRepository>().As<IProductRepository>();
        builder.Build();
    }
}
12
задан Nick Josevski 7 December 2010 в 05:09
поделиться