Мы находимся в процессе перехода от Prism 4.1 к 5. Один из всплывающих вопросов - это создание Stub EventAggregator (Microsoft Fakes) для нашего модульного теста. EventAggregator устанавливается в целевом классе, а некоторые подписчики устанавливают
_eventAggregator.GetEvent<RangeChangedEvent>().Subscribe(UpdateDisplay,
ThreadOption.UIThread,
false,
args => args.ID == ID);
Модульный тест отлично работал с Prism 4.1. Но теперь я получаю это исключение в Prism 5 при запуске модульного теста.
System.InvalidOperationException: чтобы использовать параметр UIThread для подписки, EventAggregator должен быть построен в потоке пользовательского интерфейса.
Итак, есть ли способ получить ссылку на то, что Prism считает потоком пользовательского интерфейса? Или способ сказать призме, что поток модульного теста - это поток пользовательского интерфейса? Или мне нужно подписаться на поток публикации и протестировать Диспетчер в методе «UpdateDisplay»?
Спасибо.
ThreadOption.UIThread
и по-прежнему запускать мой метод в потоке пользовательского интерфейса. - person RamenTurismo   schedule 21.05.2019