【发布时间】:2016-12-28 13:26:53
【问题描述】:
如何为特定类注入不同的对象实现?
例如在Unity中,我可以定义IRepository的两个实现
container.RegisterType<IRepository, TestSuiteRepositor("TestSuiteRepository");
container.RegisterType<IRepository, BaseRepository>();
并调用所需的实现
public BaselineManager([Dependency("TestSuiteRepository")]IRepository repository)
【问题讨论】:
-
你不应该在单元测试中需要或使用 IoC(表明你做的事情非常错误)。对于集成测试,您应该使用多个启动类,例如 radu-matei 说的
-
这不是单元测试,它是业务逻辑的一部分 =) TestSuite 是业务实体
-
我在这里使用强类型方法发布了一个类似问题的答案:stackoverflow.com/questions/39174989/…
标签: c# dependency-injection asp.net-core