J'utilise Composite WPF (Prism) et j'essaie de tester unitaire que mon Controller s'abonne effectivement à un événement composite.Pourquoi ma vérification Moq IEventAggregator échoue-t-elle?
Mon code d'abonnement se présente comme suit ...
//Init Events.
this.eventAggregator.GetEvent<PlantTreeNodeSelectedEvent>().Subscribe(
ShowNodeDetails, ThreadOption.UIThread);
Mon code de tests unitaires se présente comme suit (je l'utilise Moq comme mon cadre moqueur et l'unité comme mon cadre DI) ...
Mock<PlantTreeNodeSelectedEvent> eventBeingListenedTo = new Mock<PlantTreeNodeSelectedEvent>();
eventAggregatorMock.Setup(e => e.GetEvent<PlantTreeNodeSelectedEvent>()).Returns(eventBeingListenedTo.Object);
//Initialize the controller to be tested.
IPlantTreeController controllerToTest = container.Resolve<IPlantTreeController>();
//Verify.
eventBeingListenedTo.Verify(
e => e.Subscribe(It.IsAny<Action<string>>(), ThreadOption.UIThread));
Cette méthode est appelée s'abonner (je l'ai vérifié en exécutant avec le débogueur), mais Verify échoue toujours avec « n'a pas été réalisée Invocation sur la maquette: e => e.Subscribe ... »
A ny idée de ce que je fais mal?