Исключение при отсутствии поддержки при подписке на получение данных коллекции IEnumerable с помощью приведенного ниже кода. Не удалось подписаться на опубликованный объект Collection.Исключение при проверке подписчиков агрегатора событий с использованием Moq
Mock<IEventAggregator> _mockEventAgg = new Mock<IEventAggregator>();
_mockEventAgg.Setup(x => x.GetEvent<ShowScreenEvent>().Publish(new ObservableCollection<Customer>()
{
// Customer properties or details
}));
_mockEventAgg.Setup(m => m.GetEvent<ShowScreenEvent>().Subscribe(It.IsAny<Action<IEnumerable<Customer>>>()))
.Callback<IEnumerable<Customer>>(customers => SelectedCustomerData = customers);
Исключение:
Исключение типа «System.NotSupportedException» произошло в Moq.dll, но не был обработан в пользовательском коде
Дополнительная информация: Invalid установка на невиртуальный (Исключительно в VB) член: m => m.GetEvent(). Подписаться (It.IsAny())
Из чтения сообщения об исключении является 'ShowScreenEvent.Subscribe()' не виртуальным? –
Класс 'ShowScreenEvent' наследуется от' PubSubEvent> 'class –
venkat
Посмотрите на этот вопрос http://stackoverflow.com/questions/35868184/nsubstitute-vs-prism-eventaggregator-assert-that-calling-a -method-triggers-even/35889556 # 35889556 (вы можете, конечно, преобразовать это из NSubstitute в Moq) – Haukinger