我正在尝试完成一件看似超级简单的事情:从我的单元测试中,我想用模拟/假对象替换正在解析的类型。
例如:xml 配置声明服务 IInterface 的组件应解析为 ClassA。很好,但是从我的单元测试中,我希望类型解析为 FakeClassA。我不能为此使用 container.AddComponent,因为“已经为给定键注册了一个组件......”。
我正在尝试完成一件看似超级简单的事情:从我的单元测试中,我想用模拟/假对象替换正在解析的类型。
例如:xml 配置声明服务 IInterface 的组件应解析为 ClassA。很好,但是从我的单元测试中,我希望类型解析为 FakeClassA。我不能为此使用 container.AddComponent,因为“已经为给定键注册了一个组件......”。
IKernel 有一个RemoveComponent方法。
但是对于单元测试,建议您根本不要使用容器,或者如果测试设置由于依赖关系而变得过于密集,请使用AutoMockingContainer。
这是另一个(更新的)实现。