Mes questions sont les suivantes: comment puis-je tester si la méthode Execute d'un ICommand a été appelée sur un objet simulé?Test si ICommand a été exécuté
J'utilise le code suivant:
var mockOperandVM = new Mock<UCOperandViewModel>();
mockOperandVM.Setup (x => x.EditCommand).Returns (new RelayCommand<String> (x => { }));
var toolbarTrayVM = new UCToolbarTrayViewModel (mockComponentsLocator.Object);
toolbarTrayVM.EditCommand.Execute ("Edit");
mockOperandVM.Verify (x => x.EditCommand.Execute ("Edit"), "EditCommand with 'Edit' parameter was not executed on the mock object.");
Je dois préciser ici que j'ai un ICommand EditCommand sur le UCOperandViewModel aussi et je veux vérifier si ce ICommand est exécuté quand je l'appelle EditCommand.Execute sur la barre d'outilsTrayVM.
Je reçois une ArgumentException lors de l'appel à Verify. Il dit que "Un constructeur correspondant pour les arguments donnés n'a pas été trouvé sur le type mocké.".
Merci d'avance.
Pourriez-vous s'il vous plaît fournir plus de code? Comment utilisez-vous l'ICommand, le code de test de l'échantillon et que tentez-vous de tester? –
Quel cadre de moquerie utilisez-vous (le cas échéant)? –
J'utilise le framework Moq. – Zoliqa