这个问题是更大问题的一部分,可以在这里找到
在生产代码中,我们使用 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,它总是提供模拟实现,并且在每个测试夹具中,我们只是重新绑定到它的实际实现。
如何在 F# xUnit 中实现相同的目标。