私はXUnitで依存性注入をどのように使用できるかを調べようとしています。私の目標は、私のProductRepositoryを私のテストクラスに注入することです。 次のコンストラクタのパラメータは、フィクスチャデータをマッチング(ICustomerRepositoryリポジトリ)を持っていなかったXUnitとASP.NET Core 1.0の依存性注入
これが信じるように私をリード:ここ
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;
}
}
がエラーである:ここでは は、私がしようとしているコードです。それがFixtureである場合に限り、XUnitは依存性注入をサポートしません。
XUnitを使用して、テストクラスでProductRepositoryのインスタンスを取得する方法を教えてもらえますか? Startup.csが実行され、DIを構成するように、私はテストサーバーを正しく起動していると思います。
ダニーあなたは素晴らしいだろうgithubのに例をアップロードすることができます。私はまだちょっと混乱していると認めなければならない。私はIProductRepoとProductRepoを持っていると言うことができます:DIを使ってProductRepoのインスタンスを取得する適切な方法の例を教えてください。私はテストクラスで使用できますか? –
ブレイク、私は私の答えを更新しました。 IPrimeServiceの代わりにIProductRepoを記述し、NegativePrimeServiceの代わりにProductRepoを記述します。今はっきりしたいと思っています。 –