Внедрение зависимостей с XUnit и ASP.NET Core 1.0
Я пытаюсь выяснить, как я могу использовать внедрение зависимостей с XUnit. Моя цель - внедрить мой ProductRepository в мой тестовый класс.
Вот код, который я пытаюсь:
public class DatabaseFixture : IDisposable
{
private readonly TestServer _server;
public DatabaseFixture()
{
_server = new TestServer(TestServer.CreateBuilder().UseStartup<Startup>());
}
public void Dispose()
{
// ... clean up test data from the database ...
}
}
public class MyTests : IClassFixture<DatabaseFixture>
{
DatabaseFixture _fixture;
public ICustomerRepository _repository { get; set; }
public MyTests(DatabaseFixture fixture, ICustomerRepository repository)
{
_fixture = fixture;
_repository = repository;
}
}
Вот ошибка: Следующие параметры конструктора не имеют соответствующих данных фикстуры (репозиторий ICustomerRepository)
Это наводит меня на мысль, что XUnit не поддерживает внедрение зависимостей, только если это Fixture.
Может кто-нибудь дать мне способ получить экземпляр ProductRepository в моем тестовом классе с помощью XUnit? Я считаю, что правильно запускаю тестовый сервер, поэтому Startup.cs запускает и настраивает DI.