StructureMap Очистить кешированные экземпляры - PullRequest
3 голосов
/ 02 сентября 2010

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

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

, но она терпит неудачу с ней или без нее.

Ответы [ 2 ]

1 голос
/ 06 сентября 2010

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

1 голос
/ 02 сентября 2010
StructureMap.ObjectFactory.EjectAllInstancesOf<SingleInvoicePresenter>();
...