この質問は、ここで見つけることができるより大きな質問の一部です
プロダクション コードでは Ninject とコンストラクタ インジェクションを使用するため、サービスは次のようになります。
public class Service : IService
{
private readonly IRepository _repository;
public Service(IRepository repository)
{
_repository = repository;
}
public Task<IEnumerable<SelectOption>> GetAlLogicOptions()
{
return _repository.GetOptionsAsync();
}
}
コンストラクターパラメーターのリストは、時間の経過とともに変更される可能性があり、変更される可能性があります。これが、テストでも IoC を使用したい理由です。
C# NUnit では、常にモック実装を提供する Ninject.MockingKernel があり、各テスト フィクスチャで実際の実装に sut を再バインドするだけなので、これは非常に簡単です。
F# xUnit で同じことを達成する方法。