Я пытаюсь, чтобы модульные тесты не полагались на вызов 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();
}
}