2010-09-02 2 views
3

У меня возникли проблемы с настройкой конфигурации StructureMap. Это только терпит неудачу, когда я запускаю все мои тесты en mass. Предыдущим тестом является Injecting экземпляр SingleInvoicePresenter, но к тому времени, когда я доберусь до этого теста, мне нужно, чтобы все кэширование пропало. Я думаю, что ResetDefaults() очистит все ранее инъекционные объекты, но этот тест не на утверждают (при запуске со всеми другими тестами)StructureMap Purge Cached экземпляры

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); 

Edit - Я думаю, что это будет работать даже без линии

StructureMap.ObjectFactory.Configure(x => { x.For<SingleInvoicePresenter>().AlwaysUnique(); }); 

но он не работает с ним или без него.

ответ

1
StructureMap.ObjectFactory.EjectAllInstancesOf<SingleInvoicePresenter>(); 
1

Использование универсального объекта структуры структуры следует избегать при тестировании устройства. Скорее всего, в тестовой настройке вы хотели бы создать новый контейнер и передать эту ссылку или ссылку Icontainer в тестируемую систему.

Смежные вопросы