2011-02-04 119 views
2

我在StructureMap中使用混合缓存,但是在我的单元测试期间,我希望能够清除StructureMap的缓存,以便代码将构造新对象而不是从缓存中取出缓存。如何清除StructureMap缓存?

我看不到有什么方法可以清除StructureMap中的缓存对象。即使当我重新初始化配置时,它仍然会返回初始对象。

有没有人有这方面的工作?我会认为ResetDefaults会解决这个问题,但它并没有!

+0

为什么你*单元*测试依赖于StructureMap缓存?你真的在做集成测试吗?如果单元测试只测试一个类/单元,则单元测试不应取决于任何类型的SM配置。 – Pete 2011-02-04 13:40:01

回答

3

你试过

void IContainer::EjectAllInstancesOf<T>() 
+0

辉煌 - 谢谢! – James 2011-02-04 15:58:09