我正在尝试完成一个看似非常简单的事情:从我的单元测试中,我想用模拟/假对象替换正在解析的类型。
例如:xml config指出服务IInterface的组件应该解析为ClassA。这很好,但是从我的单元测试中我想要将类型解析为FakeClassA。我不能使用container.AddComponent,因为“已经为给定的密钥注册了一个组件......”。
答案 0 :(得分:4)
IKernel有RemoveComponent方法。
但是对于单元测试,建议您根本不使用容器,或者如果测试设置由于依赖性而过于密集,请使用AutoMockingContainer。
Here's另一个(更新的)实施。