Dependency Injection mit XUnit und ASP.NET Core 1.0

Ich versuche herauszufinden, wie ich die Abhängigkeitsinjektion mit XUnit verwenden kann. Mein Ziel ist es, mein ProductRepository in meine Testklasse einbinden zu können.

Hier ist der Code, den ich versuche:

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;
    }
}

Hier ist der Fehler: Die folgenden Konstruktorparameter hatten keine übereinstimmenden Fixture-Daten (ICustomerRepository-Repository).

Dies lässt mich glauben, dass XUnit die Abhängigkeitsinjektion nur dann nicht unterstützt, wenn es sich um ein Fixture handelt.

Kann mir jemand eine Möglichkeit geben, mit XUnit eine Instanz von ProductRepository in meiner Testklasse abzurufen? Ich glaube, dass ich einen Testserver richtig starte, so dass Startup.cs die DI ausführt und konfiguriert.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage