我無法重置StructureMap的配置。這隻有當我運行全部我的測試質量。以前的測試是注入SingleInvoicePresenter的一個實例,但是當我進入這個測試的時候,我需要所有的緩存消失。我認爲ResetDefaults()將清除任何先前注入的對象了,但斷言(當與所有其他的測試運行)這個測試失敗StructureMap清除緩存實例
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);
編輯 - 我會認爲這甚至會工作,而行
StructureMap.ObjectFactory.Configure(x => { x.For<SingleInvoicePresenter>().AlwaysUnique(); });
但它失敗有或沒有它。