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