首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >StructureMap清理缓存实例

StructureMap清理缓存实例
EN

Stack Overflow用户
提问于 2010-09-02 15:31:01
回答 2查看 639关注 0票数 3

我在重置结构图的配置上有问题。只有当我大量运行我的所有测试时,这才会失败。以前的一个测试是注入一个SingleInvoicePresenter实例,但是当我进入这个测试时,我需要所有的缓存都没有了。我认为ResetDefaults()会清除以前注入的任何对象,但是这个测试在断言上失败(当与所有其他测试一起运行时)

代码语言:javascript
复制
    StructureMap.ObjectFactory.ResetDefaults();
    StructureMap.ObjectFactory.Configure(x => { x.For<SingleInvoicePresenter>().AlwaysUnique(); });

    SingleInvoicePresenter P1 = StructureMap.ObjectFactory.GetInstance<SingleInvoicePresenter>();
    SingleInvoicePresenter P2 = StructureMap.ObjectFactory.GetInstance<SingleInvoicePresenter>();

    Assert.AreNotSame(P1, P2);

编辑-我认为即使没有行,这也能工作。

代码语言:javascript
复制
StructureMap.ObjectFactory.Configure(x => { x.For<SingleInvoicePresenter>().AlwaysUnique(); });

但不管有没有它,它都失败了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-02 15:47:34

代码语言:javascript
复制
StructureMap.ObjectFactory.EjectAllInstancesOf<SingleInvoicePresenter>();
票数 1
EN

Stack Overflow用户

发布于 2010-09-06 01:05:11

在单元测试中,应该避免使用结构映射的全局对象性。相反,在您的测试设置中,您可能希望创建一个新容器,并将该容器或独立容器引用传递到正在测试的系统中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3628658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档