从Windsor Container中删除或覆盖组件

Pet*_*jan 5 .net c# dependency-injection castle-windsor inversion-of-control

我正在尝试完成一个看似非常简单的事情:从我的单元测试中,我想用mock/fake对象替换正在解析的类型.

例如:xml config声明服务IInterface的组件应解析为ClassA.这很好,但是从我的单元测试中我想要将类型解析为FakeClassA.我不能为此使用container.AddComponent,因为"已经为给定键注册了一个组件......".

Mau*_*fer 4

IKernel 有一个RemoveComponent方法。

但对于单元测试,建议您根本不使用容器,或者如果测试设置由于依赖关系而变得过于密集,请使用AutoMockingContainer

这是另一个(更新的)实现。

  • RemoveComponent 方法已从温莎城堡 3 中删除 (4认同)